diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@alloca.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@alloca.h deleted file mode 100644 index cd2a9e0..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@alloca.h +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _ALLOCA_H -#define _ALLOCA_H 1 - -#include - -#define __need_size_t -#include - -__BEGIN_DECLS - -/* Remove any previous definition. */ -#undef alloca - -/* Allocate a block that will be freed when the calling function exits. */ -extern void *alloca (size_t __size) __THROW; - -#ifdef __GNUC__ -# define alloca(size) __builtin_alloca (size) -#endif /* GCC. */ - -__END_DECLS - -#endif /* alloca.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@alloca.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@alloca.h.blob deleted file mode 100644 index f7416f6..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@alloca.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@byteswap.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@byteswap.h deleted file mode 100644 index 6438a8b..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@byteswap.h +++ /dev/null @@ -1,79 +0,0 @@ -/* Macros and inline functions to swap the order of bytes in integer values. - Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H -# error "Never use directly; include instead." -#endif - -#ifndef _BITS_BYTESWAP_H -#define _BITS_BYTESWAP_H 1 - -#include -#include - -/* Swap bytes in 16-bit value. */ -#define __bswap_constant_16(x) \ - ((__uint16_t) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))) - -static __inline __uint16_t -__bswap_16 (__uint16_t __bsx) -{ -#if __GNUC_PREREQ (4, 8) - return __builtin_bswap16 (__bsx); -#else - return __bswap_constant_16 (__bsx); -#endif -} - -/* Swap bytes in 32-bit value. */ -#define __bswap_constant_32(x) \ - ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) \ - | (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24)) - -static __inline __uint32_t -__bswap_32 (__uint32_t __bsx) -{ -#if __GNUC_PREREQ (4, 3) - return __builtin_bswap32 (__bsx); -#else - return __bswap_constant_32 (__bsx); -#endif -} - -/* Swap bytes in 64-bit value. */ -#define __bswap_constant_64(x) \ - ((((x) & 0xff00000000000000ull) >> 56) \ - | (((x) & 0x00ff000000000000ull) >> 40) \ - | (((x) & 0x0000ff0000000000ull) >> 24) \ - | (((x) & 0x000000ff00000000ull) >> 8) \ - | (((x) & 0x00000000ff000000ull) << 8) \ - | (((x) & 0x0000000000ff0000ull) << 24) \ - | (((x) & 0x000000000000ff00ull) << 40) \ - | (((x) & 0x00000000000000ffull) << 56)) - -__extension__ static __inline __uint64_t -__bswap_64 (__uint64_t __bsx) -{ -#if __GNUC_PREREQ (4, 3) - return __builtin_bswap64 (__bsx); -#else - return __bswap_constant_64 (__bsx); -#endif -} - -#endif /* _BITS_BYTESWAP_H */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@byteswap.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@byteswap.h.blob deleted file mode 100644 index 988117a..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@byteswap.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@confname.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@confname.h deleted file mode 100644 index ec6cd07..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@confname.h +++ /dev/null @@ -1,681 +0,0 @@ -/* `sysconf', `pathconf', and `confstr' NAME values. Generic version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _UNISTD_H -# error "Never use directly; include instead." -#endif - -/* Values for the NAME argument to `pathconf' and `fpathconf'. */ -enum - { - _PC_LINK_MAX, -#define _PC_LINK_MAX _PC_LINK_MAX - _PC_MAX_CANON, -#define _PC_MAX_CANON _PC_MAX_CANON - _PC_MAX_INPUT, -#define _PC_MAX_INPUT _PC_MAX_INPUT - _PC_NAME_MAX, -#define _PC_NAME_MAX _PC_NAME_MAX - _PC_PATH_MAX, -#define _PC_PATH_MAX _PC_PATH_MAX - _PC_PIPE_BUF, -#define _PC_PIPE_BUF _PC_PIPE_BUF - _PC_CHOWN_RESTRICTED, -#define _PC_CHOWN_RESTRICTED _PC_CHOWN_RESTRICTED - _PC_NO_TRUNC, -#define _PC_NO_TRUNC _PC_NO_TRUNC - _PC_VDISABLE, -#define _PC_VDISABLE _PC_VDISABLE - _PC_SYNC_IO, -#define _PC_SYNC_IO _PC_SYNC_IO - _PC_ASYNC_IO, -#define _PC_ASYNC_IO _PC_ASYNC_IO - _PC_PRIO_IO, -#define _PC_PRIO_IO _PC_PRIO_IO - _PC_SOCK_MAXBUF, -#define _PC_SOCK_MAXBUF _PC_SOCK_MAXBUF - _PC_FILESIZEBITS, -#define _PC_FILESIZEBITS _PC_FILESIZEBITS - _PC_REC_INCR_XFER_SIZE, -#define _PC_REC_INCR_XFER_SIZE _PC_REC_INCR_XFER_SIZE - _PC_REC_MAX_XFER_SIZE, -#define _PC_REC_MAX_XFER_SIZE _PC_REC_MAX_XFER_SIZE - _PC_REC_MIN_XFER_SIZE, -#define _PC_REC_MIN_XFER_SIZE _PC_REC_MIN_XFER_SIZE - _PC_REC_XFER_ALIGN, -#define _PC_REC_XFER_ALIGN _PC_REC_XFER_ALIGN - _PC_ALLOC_SIZE_MIN, -#define _PC_ALLOC_SIZE_MIN _PC_ALLOC_SIZE_MIN - _PC_SYMLINK_MAX, -#define _PC_SYMLINK_MAX _PC_SYMLINK_MAX - _PC_2_SYMLINKS -#define _PC_2_SYMLINKS _PC_2_SYMLINKS - }; - -/* Values for the argument to `sysconf'. */ -enum - { - _SC_ARG_MAX, -#define _SC_ARG_MAX _SC_ARG_MAX - _SC_CHILD_MAX, -#define _SC_CHILD_MAX _SC_CHILD_MAX - _SC_CLK_TCK, -#define _SC_CLK_TCK _SC_CLK_TCK - _SC_NGROUPS_MAX, -#define _SC_NGROUPS_MAX _SC_NGROUPS_MAX - _SC_OPEN_MAX, -#define _SC_OPEN_MAX _SC_OPEN_MAX - _SC_STREAM_MAX, -#define _SC_STREAM_MAX _SC_STREAM_MAX - _SC_TZNAME_MAX, -#define _SC_TZNAME_MAX _SC_TZNAME_MAX - _SC_JOB_CONTROL, -#define _SC_JOB_CONTROL _SC_JOB_CONTROL - _SC_SAVED_IDS, -#define _SC_SAVED_IDS _SC_SAVED_IDS - _SC_REALTIME_SIGNALS, -#define _SC_REALTIME_SIGNALS _SC_REALTIME_SIGNALS - _SC_PRIORITY_SCHEDULING, -#define _SC_PRIORITY_SCHEDULING _SC_PRIORITY_SCHEDULING - _SC_TIMERS, -#define _SC_TIMERS _SC_TIMERS - _SC_ASYNCHRONOUS_IO, -#define _SC_ASYNCHRONOUS_IO _SC_ASYNCHRONOUS_IO - _SC_PRIORITIZED_IO, -#define _SC_PRIORITIZED_IO _SC_PRIORITIZED_IO - _SC_SYNCHRONIZED_IO, -#define _SC_SYNCHRONIZED_IO _SC_SYNCHRONIZED_IO - _SC_FSYNC, -#define _SC_FSYNC _SC_FSYNC - _SC_MAPPED_FILES, -#define _SC_MAPPED_FILES _SC_MAPPED_FILES - _SC_MEMLOCK, -#define _SC_MEMLOCK _SC_MEMLOCK - _SC_MEMLOCK_RANGE, -#define _SC_MEMLOCK_RANGE _SC_MEMLOCK_RANGE - _SC_MEMORY_PROTECTION, -#define _SC_MEMORY_PROTECTION _SC_MEMORY_PROTECTION - _SC_MESSAGE_PASSING, -#define _SC_MESSAGE_PASSING _SC_MESSAGE_PASSING - _SC_SEMAPHORES, -#define _SC_SEMAPHORES _SC_SEMAPHORES - _SC_SHARED_MEMORY_OBJECTS, -#define _SC_SHARED_MEMORY_OBJECTS _SC_SHARED_MEMORY_OBJECTS - _SC_AIO_LISTIO_MAX, -#define _SC_AIO_LISTIO_MAX _SC_AIO_LISTIO_MAX - _SC_AIO_MAX, -#define _SC_AIO_MAX _SC_AIO_MAX - _SC_AIO_PRIO_DELTA_MAX, -#define _SC_AIO_PRIO_DELTA_MAX _SC_AIO_PRIO_DELTA_MAX - _SC_DELAYTIMER_MAX, -#define _SC_DELAYTIMER_MAX _SC_DELAYTIMER_MAX - _SC_MQ_OPEN_MAX, -#define _SC_MQ_OPEN_MAX _SC_MQ_OPEN_MAX - _SC_MQ_PRIO_MAX, -#define _SC_MQ_PRIO_MAX _SC_MQ_PRIO_MAX - _SC_VERSION, -#define _SC_VERSION _SC_VERSION - _SC_PAGESIZE, -#define _SC_PAGESIZE _SC_PAGESIZE -#define _SC_PAGE_SIZE _SC_PAGESIZE - _SC_RTSIG_MAX, -#define _SC_RTSIG_MAX _SC_RTSIG_MAX - _SC_SEM_NSEMS_MAX, -#define _SC_SEM_NSEMS_MAX _SC_SEM_NSEMS_MAX - _SC_SEM_VALUE_MAX, -#define _SC_SEM_VALUE_MAX _SC_SEM_VALUE_MAX - _SC_SIGQUEUE_MAX, -#define _SC_SIGQUEUE_MAX _SC_SIGQUEUE_MAX - _SC_TIMER_MAX, -#define _SC_TIMER_MAX _SC_TIMER_MAX - - /* Values for the argument to `sysconf' - corresponding to _POSIX2_* symbols. */ - _SC_BC_BASE_MAX, -#define _SC_BC_BASE_MAX _SC_BC_BASE_MAX - _SC_BC_DIM_MAX, -#define _SC_BC_DIM_MAX _SC_BC_DIM_MAX - _SC_BC_SCALE_MAX, -#define _SC_BC_SCALE_MAX _SC_BC_SCALE_MAX - _SC_BC_STRING_MAX, -#define _SC_BC_STRING_MAX _SC_BC_STRING_MAX - _SC_COLL_WEIGHTS_MAX, -#define _SC_COLL_WEIGHTS_MAX _SC_COLL_WEIGHTS_MAX - _SC_EQUIV_CLASS_MAX, -#define _SC_EQUIV_CLASS_MAX _SC_EQUIV_CLASS_MAX - _SC_EXPR_NEST_MAX, -#define _SC_EXPR_NEST_MAX _SC_EXPR_NEST_MAX - _SC_LINE_MAX, -#define _SC_LINE_MAX _SC_LINE_MAX - _SC_RE_DUP_MAX, -#define _SC_RE_DUP_MAX _SC_RE_DUP_MAX - _SC_CHARCLASS_NAME_MAX, -#define _SC_CHARCLASS_NAME_MAX _SC_CHARCLASS_NAME_MAX - - _SC_2_VERSION, -#define _SC_2_VERSION _SC_2_VERSION - _SC_2_C_BIND, -#define _SC_2_C_BIND _SC_2_C_BIND - _SC_2_C_DEV, -#define _SC_2_C_DEV _SC_2_C_DEV - _SC_2_FORT_DEV, -#define _SC_2_FORT_DEV _SC_2_FORT_DEV - _SC_2_FORT_RUN, -#define _SC_2_FORT_RUN _SC_2_FORT_RUN - _SC_2_SW_DEV, -#define _SC_2_SW_DEV _SC_2_SW_DEV - _SC_2_LOCALEDEF, -#define _SC_2_LOCALEDEF _SC_2_LOCALEDEF - - _SC_PII, -#define _SC_PII _SC_PII - _SC_PII_XTI, -#define _SC_PII_XTI _SC_PII_XTI - _SC_PII_SOCKET, -#define _SC_PII_SOCKET _SC_PII_SOCKET - _SC_PII_INTERNET, -#define _SC_PII_INTERNET _SC_PII_INTERNET - _SC_PII_OSI, -#define _SC_PII_OSI _SC_PII_OSI - _SC_POLL, -#define _SC_POLL _SC_POLL - _SC_SELECT, -#define _SC_SELECT _SC_SELECT - _SC_UIO_MAXIOV, -#define _SC_UIO_MAXIOV _SC_UIO_MAXIOV - _SC_IOV_MAX = _SC_UIO_MAXIOV, -#define _SC_IOV_MAX _SC_IOV_MAX - _SC_PII_INTERNET_STREAM, -#define _SC_PII_INTERNET_STREAM _SC_PII_INTERNET_STREAM - _SC_PII_INTERNET_DGRAM, -#define _SC_PII_INTERNET_DGRAM _SC_PII_INTERNET_DGRAM - _SC_PII_OSI_COTS, -#define _SC_PII_OSI_COTS _SC_PII_OSI_COTS - _SC_PII_OSI_CLTS, -#define _SC_PII_OSI_CLTS _SC_PII_OSI_CLTS - _SC_PII_OSI_M, -#define _SC_PII_OSI_M _SC_PII_OSI_M - _SC_T_IOV_MAX, -#define _SC_T_IOV_MAX _SC_T_IOV_MAX - - /* Values according to POSIX 1003.1c (POSIX threads). */ - _SC_THREADS, -#define _SC_THREADS _SC_THREADS - _SC_THREAD_SAFE_FUNCTIONS, -#define _SC_THREAD_SAFE_FUNCTIONS _SC_THREAD_SAFE_FUNCTIONS - _SC_GETGR_R_SIZE_MAX, -#define _SC_GETGR_R_SIZE_MAX _SC_GETGR_R_SIZE_MAX - _SC_GETPW_R_SIZE_MAX, -#define _SC_GETPW_R_SIZE_MAX _SC_GETPW_R_SIZE_MAX - _SC_LOGIN_NAME_MAX, -#define _SC_LOGIN_NAME_MAX _SC_LOGIN_NAME_MAX - _SC_TTY_NAME_MAX, -#define _SC_TTY_NAME_MAX _SC_TTY_NAME_MAX - _SC_THREAD_DESTRUCTOR_ITERATIONS, -#define _SC_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS - _SC_THREAD_KEYS_MAX, -#define _SC_THREAD_KEYS_MAX _SC_THREAD_KEYS_MAX - _SC_THREAD_STACK_MIN, -#define _SC_THREAD_STACK_MIN _SC_THREAD_STACK_MIN - _SC_THREAD_THREADS_MAX, -#define _SC_THREAD_THREADS_MAX _SC_THREAD_THREADS_MAX - _SC_THREAD_ATTR_STACKADDR, -#define _SC_THREAD_ATTR_STACKADDR _SC_THREAD_ATTR_STACKADDR - _SC_THREAD_ATTR_STACKSIZE, -#define _SC_THREAD_ATTR_STACKSIZE _SC_THREAD_ATTR_STACKSIZE - _SC_THREAD_PRIORITY_SCHEDULING, -#define _SC_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULING - _SC_THREAD_PRIO_INHERIT, -#define _SC_THREAD_PRIO_INHERIT _SC_THREAD_PRIO_INHERIT - _SC_THREAD_PRIO_PROTECT, -#define _SC_THREAD_PRIO_PROTECT _SC_THREAD_PRIO_PROTECT - _SC_THREAD_PROCESS_SHARED, -#define _SC_THREAD_PROCESS_SHARED _SC_THREAD_PROCESS_SHARED - - _SC_NPROCESSORS_CONF, -#define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_CONF - _SC_NPROCESSORS_ONLN, -#define _SC_NPROCESSORS_ONLN _SC_NPROCESSORS_ONLN - _SC_PHYS_PAGES, -#define _SC_PHYS_PAGES _SC_PHYS_PAGES - _SC_AVPHYS_PAGES, -#define _SC_AVPHYS_PAGES _SC_AVPHYS_PAGES - _SC_ATEXIT_MAX, -#define _SC_ATEXIT_MAX _SC_ATEXIT_MAX - _SC_PASS_MAX, -#define _SC_PASS_MAX _SC_PASS_MAX - - _SC_XOPEN_VERSION, -#define _SC_XOPEN_VERSION _SC_XOPEN_VERSION - _SC_XOPEN_XCU_VERSION, -#define _SC_XOPEN_XCU_VERSION _SC_XOPEN_XCU_VERSION - _SC_XOPEN_UNIX, -#define _SC_XOPEN_UNIX _SC_XOPEN_UNIX - _SC_XOPEN_CRYPT, -#define _SC_XOPEN_CRYPT _SC_XOPEN_CRYPT - _SC_XOPEN_ENH_I18N, -#define _SC_XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N - _SC_XOPEN_SHM, -#define _SC_XOPEN_SHM _SC_XOPEN_SHM - - _SC_2_CHAR_TERM, -#define _SC_2_CHAR_TERM _SC_2_CHAR_TERM - _SC_2_C_VERSION, -#define _SC_2_C_VERSION _SC_2_C_VERSION - _SC_2_UPE, -#define _SC_2_UPE _SC_2_UPE - - _SC_XOPEN_XPG2, -#define _SC_XOPEN_XPG2 _SC_XOPEN_XPG2 - _SC_XOPEN_XPG3, -#define _SC_XOPEN_XPG3 _SC_XOPEN_XPG3 - _SC_XOPEN_XPG4, -#define _SC_XOPEN_XPG4 _SC_XOPEN_XPG4 - - _SC_CHAR_BIT, -#define _SC_CHAR_BIT _SC_CHAR_BIT - _SC_CHAR_MAX, -#define _SC_CHAR_MAX _SC_CHAR_MAX - _SC_CHAR_MIN, -#define _SC_CHAR_MIN _SC_CHAR_MIN - _SC_INT_MAX, -#define _SC_INT_MAX _SC_INT_MAX - _SC_INT_MIN, -#define _SC_INT_MIN _SC_INT_MIN - _SC_LONG_BIT, -#define _SC_LONG_BIT _SC_LONG_BIT - _SC_WORD_BIT, -#define _SC_WORD_BIT _SC_WORD_BIT - _SC_MB_LEN_MAX, -#define _SC_MB_LEN_MAX _SC_MB_LEN_MAX - _SC_NZERO, -#define _SC_NZERO _SC_NZERO - _SC_SSIZE_MAX, -#define _SC_SSIZE_MAX _SC_SSIZE_MAX - _SC_SCHAR_MAX, -#define _SC_SCHAR_MAX _SC_SCHAR_MAX - _SC_SCHAR_MIN, -#define _SC_SCHAR_MIN _SC_SCHAR_MIN - _SC_SHRT_MAX, -#define _SC_SHRT_MAX _SC_SHRT_MAX - _SC_SHRT_MIN, -#define _SC_SHRT_MIN _SC_SHRT_MIN - _SC_UCHAR_MAX, -#define _SC_UCHAR_MAX _SC_UCHAR_MAX - _SC_UINT_MAX, -#define _SC_UINT_MAX _SC_UINT_MAX - _SC_ULONG_MAX, -#define _SC_ULONG_MAX _SC_ULONG_MAX - _SC_USHRT_MAX, -#define _SC_USHRT_MAX _SC_USHRT_MAX - - _SC_NL_ARGMAX, -#define _SC_NL_ARGMAX _SC_NL_ARGMAX - _SC_NL_LANGMAX, -#define _SC_NL_LANGMAX _SC_NL_LANGMAX - _SC_NL_MSGMAX, -#define _SC_NL_MSGMAX _SC_NL_MSGMAX - _SC_NL_NMAX, -#define _SC_NL_NMAX _SC_NL_NMAX - _SC_NL_SETMAX, -#define _SC_NL_SETMAX _SC_NL_SETMAX - _SC_NL_TEXTMAX, -#define _SC_NL_TEXTMAX _SC_NL_TEXTMAX - - _SC_XBS5_ILP32_OFF32, -#define _SC_XBS5_ILP32_OFF32 _SC_XBS5_ILP32_OFF32 - _SC_XBS5_ILP32_OFFBIG, -#define _SC_XBS5_ILP32_OFFBIG _SC_XBS5_ILP32_OFFBIG - _SC_XBS5_LP64_OFF64, -#define _SC_XBS5_LP64_OFF64 _SC_XBS5_LP64_OFF64 - _SC_XBS5_LPBIG_OFFBIG, -#define _SC_XBS5_LPBIG_OFFBIG _SC_XBS5_LPBIG_OFFBIG - - _SC_XOPEN_LEGACY, -#define _SC_XOPEN_LEGACY _SC_XOPEN_LEGACY - _SC_XOPEN_REALTIME, -#define _SC_XOPEN_REALTIME _SC_XOPEN_REALTIME - _SC_XOPEN_REALTIME_THREADS, -#define _SC_XOPEN_REALTIME_THREADS _SC_XOPEN_REALTIME_THREADS - - _SC_ADVISORY_INFO, -#define _SC_ADVISORY_INFO _SC_ADVISORY_INFO - _SC_BARRIERS, -#define _SC_BARRIERS _SC_BARRIERS - _SC_BASE, -#define _SC_BASE _SC_BASE - _SC_C_LANG_SUPPORT, -#define _SC_C_LANG_SUPPORT _SC_C_LANG_SUPPORT - _SC_C_LANG_SUPPORT_R, -#define _SC_C_LANG_SUPPORT_R _SC_C_LANG_SUPPORT_R - _SC_CLOCK_SELECTION, -#define _SC_CLOCK_SELECTION _SC_CLOCK_SELECTION - _SC_CPUTIME, -#define _SC_CPUTIME _SC_CPUTIME - _SC_THREAD_CPUTIME, -#define _SC_THREAD_CPUTIME _SC_THREAD_CPUTIME - _SC_DEVICE_IO, -#define _SC_DEVICE_IO _SC_DEVICE_IO - _SC_DEVICE_SPECIFIC, -#define _SC_DEVICE_SPECIFIC _SC_DEVICE_SPECIFIC - _SC_DEVICE_SPECIFIC_R, -#define _SC_DEVICE_SPECIFIC_R _SC_DEVICE_SPECIFIC_R - _SC_FD_MGMT, -#define _SC_FD_MGMT _SC_FD_MGMT - _SC_FIFO, -#define _SC_FIFO _SC_FIFO - _SC_PIPE, -#define _SC_PIPE _SC_PIPE - _SC_FILE_ATTRIBUTES, -#define _SC_FILE_ATTRIBUTES _SC_FILE_ATTRIBUTES - _SC_FILE_LOCKING, -#define _SC_FILE_LOCKING _SC_FILE_LOCKING - _SC_FILE_SYSTEM, -#define _SC_FILE_SYSTEM _SC_FILE_SYSTEM - _SC_MONOTONIC_CLOCK, -#define _SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK - _SC_MULTI_PROCESS, -#define _SC_MULTI_PROCESS _SC_MULTI_PROCESS - _SC_SINGLE_PROCESS, -#define _SC_SINGLE_PROCESS _SC_SINGLE_PROCESS - _SC_NETWORKING, -#define _SC_NETWORKING _SC_NETWORKING - _SC_READER_WRITER_LOCKS, -#define _SC_READER_WRITER_LOCKS _SC_READER_WRITER_LOCKS - _SC_SPIN_LOCKS, -#define _SC_SPIN_LOCKS _SC_SPIN_LOCKS - _SC_REGEXP, -#define _SC_REGEXP _SC_REGEXP - _SC_REGEX_VERSION, -#define _SC_REGEX_VERSION _SC_REGEX_VERSION - _SC_SHELL, -#define _SC_SHELL _SC_SHELL - _SC_SIGNALS, -#define _SC_SIGNALS _SC_SIGNALS - _SC_SPAWN, -#define _SC_SPAWN _SC_SPAWN - _SC_SPORADIC_SERVER, -#define _SC_SPORADIC_SERVER _SC_SPORADIC_SERVER - _SC_THREAD_SPORADIC_SERVER, -#define _SC_THREAD_SPORADIC_SERVER _SC_THREAD_SPORADIC_SERVER - _SC_SYSTEM_DATABASE, -#define _SC_SYSTEM_DATABASE _SC_SYSTEM_DATABASE - _SC_SYSTEM_DATABASE_R, -#define _SC_SYSTEM_DATABASE_R _SC_SYSTEM_DATABASE_R - _SC_TIMEOUTS, -#define _SC_TIMEOUTS _SC_TIMEOUTS - _SC_TYPED_MEMORY_OBJECTS, -#define _SC_TYPED_MEMORY_OBJECTS _SC_TYPED_MEMORY_OBJECTS - _SC_USER_GROUPS, -#define _SC_USER_GROUPS _SC_USER_GROUPS - _SC_USER_GROUPS_R, -#define _SC_USER_GROUPS_R _SC_USER_GROUPS_R - _SC_2_PBS, -#define _SC_2_PBS _SC_2_PBS - _SC_2_PBS_ACCOUNTING, -#define _SC_2_PBS_ACCOUNTING _SC_2_PBS_ACCOUNTING - _SC_2_PBS_LOCATE, -#define _SC_2_PBS_LOCATE _SC_2_PBS_LOCATE - _SC_2_PBS_MESSAGE, -#define _SC_2_PBS_MESSAGE _SC_2_PBS_MESSAGE - _SC_2_PBS_TRACK, -#define _SC_2_PBS_TRACK _SC_2_PBS_TRACK - _SC_SYMLOOP_MAX, -#define _SC_SYMLOOP_MAX _SC_SYMLOOP_MAX - _SC_STREAMS, -#define _SC_STREAMS _SC_STREAMS - _SC_2_PBS_CHECKPOINT, -#define _SC_2_PBS_CHECKPOINT _SC_2_PBS_CHECKPOINT - - _SC_V6_ILP32_OFF32, -#define _SC_V6_ILP32_OFF32 _SC_V6_ILP32_OFF32 - _SC_V6_ILP32_OFFBIG, -#define _SC_V6_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG - _SC_V6_LP64_OFF64, -#define _SC_V6_LP64_OFF64 _SC_V6_LP64_OFF64 - _SC_V6_LPBIG_OFFBIG, -#define _SC_V6_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG - - _SC_HOST_NAME_MAX, -#define _SC_HOST_NAME_MAX _SC_HOST_NAME_MAX - _SC_TRACE, -#define _SC_TRACE _SC_TRACE - _SC_TRACE_EVENT_FILTER, -#define _SC_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER - _SC_TRACE_INHERIT, -#define _SC_TRACE_INHERIT _SC_TRACE_INHERIT - _SC_TRACE_LOG, -#define _SC_TRACE_LOG _SC_TRACE_LOG - - _SC_LEVEL1_ICACHE_SIZE, -#define _SC_LEVEL1_ICACHE_SIZE _SC_LEVEL1_ICACHE_SIZE - _SC_LEVEL1_ICACHE_ASSOC, -#define _SC_LEVEL1_ICACHE_ASSOC _SC_LEVEL1_ICACHE_ASSOC - _SC_LEVEL1_ICACHE_LINESIZE, -#define _SC_LEVEL1_ICACHE_LINESIZE _SC_LEVEL1_ICACHE_LINESIZE - _SC_LEVEL1_DCACHE_SIZE, -#define _SC_LEVEL1_DCACHE_SIZE _SC_LEVEL1_DCACHE_SIZE - _SC_LEVEL1_DCACHE_ASSOC, -#define _SC_LEVEL1_DCACHE_ASSOC _SC_LEVEL1_DCACHE_ASSOC - _SC_LEVEL1_DCACHE_LINESIZE, -#define _SC_LEVEL1_DCACHE_LINESIZE _SC_LEVEL1_DCACHE_LINESIZE - _SC_LEVEL2_CACHE_SIZE, -#define _SC_LEVEL2_CACHE_SIZE _SC_LEVEL2_CACHE_SIZE - _SC_LEVEL2_CACHE_ASSOC, -#define _SC_LEVEL2_CACHE_ASSOC _SC_LEVEL2_CACHE_ASSOC - _SC_LEVEL2_CACHE_LINESIZE, -#define _SC_LEVEL2_CACHE_LINESIZE _SC_LEVEL2_CACHE_LINESIZE - _SC_LEVEL3_CACHE_SIZE, -#define _SC_LEVEL3_CACHE_SIZE _SC_LEVEL3_CACHE_SIZE - _SC_LEVEL3_CACHE_ASSOC, -#define _SC_LEVEL3_CACHE_ASSOC _SC_LEVEL3_CACHE_ASSOC - _SC_LEVEL3_CACHE_LINESIZE, -#define _SC_LEVEL3_CACHE_LINESIZE _SC_LEVEL3_CACHE_LINESIZE - _SC_LEVEL4_CACHE_SIZE, -#define _SC_LEVEL4_CACHE_SIZE _SC_LEVEL4_CACHE_SIZE - _SC_LEVEL4_CACHE_ASSOC, -#define _SC_LEVEL4_CACHE_ASSOC _SC_LEVEL4_CACHE_ASSOC - _SC_LEVEL4_CACHE_LINESIZE, -#define _SC_LEVEL4_CACHE_LINESIZE _SC_LEVEL4_CACHE_LINESIZE - /* Leave room here, maybe we need a few more cache levels some day. */ - - _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, -#define _SC_IPV6 _SC_IPV6 - _SC_RAW_SOCKETS, -#define _SC_RAW_SOCKETS _SC_RAW_SOCKETS - - _SC_V7_ILP32_OFF32, -#define _SC_V7_ILP32_OFF32 _SC_V7_ILP32_OFF32 - _SC_V7_ILP32_OFFBIG, -#define _SC_V7_ILP32_OFFBIG _SC_V7_ILP32_OFFBIG - _SC_V7_LP64_OFF64, -#define _SC_V7_LP64_OFF64 _SC_V7_LP64_OFF64 - _SC_V7_LPBIG_OFFBIG, -#define _SC_V7_LPBIG_OFFBIG _SC_V7_LPBIG_OFFBIG - - _SC_SS_REPL_MAX, -#define _SC_SS_REPL_MAX _SC_SS_REPL_MAX - - _SC_TRACE_EVENT_NAME_MAX, -#define _SC_TRACE_EVENT_NAME_MAX _SC_TRACE_EVENT_NAME_MAX - _SC_TRACE_NAME_MAX, -#define _SC_TRACE_NAME_MAX _SC_TRACE_NAME_MAX - _SC_TRACE_SYS_MAX, -#define _SC_TRACE_SYS_MAX _SC_TRACE_SYS_MAX - _SC_TRACE_USER_EVENT_MAX, -#define _SC_TRACE_USER_EVENT_MAX _SC_TRACE_USER_EVENT_MAX - - _SC_XOPEN_STREAMS, -#define _SC_XOPEN_STREAMS _SC_XOPEN_STREAMS - - _SC_THREAD_ROBUST_PRIO_INHERIT, -#define _SC_THREAD_ROBUST_PRIO_INHERIT _SC_THREAD_ROBUST_PRIO_INHERIT - _SC_THREAD_ROBUST_PRIO_PROTECT, -#define _SC_THREAD_ROBUST_PRIO_PROTECT _SC_THREAD_ROBUST_PRIO_PROTECT - - _SC_MINSIGSTKSZ, -#define _SC_MINSIGSTKSZ _SC_MINSIGSTKSZ - - _SC_SIGSTKSZ -#define _SC_SIGSTKSZ _SC_SIGSTKSZ - }; - -/* Values for the NAME argument to `confstr'. */ -enum - { - _CS_PATH, /* The default search path. */ -#define _CS_PATH _CS_PATH - - _CS_V6_WIDTH_RESTRICTED_ENVS, -#define _CS_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS -#define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS - - _CS_GNU_LIBC_VERSION, -#define _CS_GNU_LIBC_VERSION _CS_GNU_LIBC_VERSION - _CS_GNU_LIBPTHREAD_VERSION, -#define _CS_GNU_LIBPTHREAD_VERSION _CS_GNU_LIBPTHREAD_VERSION - - _CS_V5_WIDTH_RESTRICTED_ENVS, -#define _CS_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS -#define _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS - - _CS_V7_WIDTH_RESTRICTED_ENVS, -#define _CS_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS -#define _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS - - _CS_LFS_CFLAGS = 1000, -#define _CS_LFS_CFLAGS _CS_LFS_CFLAGS - _CS_LFS_LDFLAGS, -#define _CS_LFS_LDFLAGS _CS_LFS_LDFLAGS - _CS_LFS_LIBS, -#define _CS_LFS_LIBS _CS_LFS_LIBS - _CS_LFS_LINTFLAGS, -#define _CS_LFS_LINTFLAGS _CS_LFS_LINTFLAGS - _CS_LFS64_CFLAGS, -#define _CS_LFS64_CFLAGS _CS_LFS64_CFLAGS - _CS_LFS64_LDFLAGS, -#define _CS_LFS64_LDFLAGS _CS_LFS64_LDFLAGS - _CS_LFS64_LIBS, -#define _CS_LFS64_LIBS _CS_LFS64_LIBS - _CS_LFS64_LINTFLAGS, -#define _CS_LFS64_LINTFLAGS _CS_LFS64_LINTFLAGS - - _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, -#define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS - _CS_XBS5_ILP32_OFF32_LDFLAGS, -#define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS - _CS_XBS5_ILP32_OFF32_LIBS, -#define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS - _CS_XBS5_ILP32_OFF32_LINTFLAGS, -#define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS - _CS_XBS5_ILP32_OFFBIG_CFLAGS, -#define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS - _CS_XBS5_ILP32_OFFBIG_LDFLAGS, -#define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS - _CS_XBS5_ILP32_OFFBIG_LIBS, -#define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS - _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, -#define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS - _CS_XBS5_LP64_OFF64_CFLAGS, -#define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS - _CS_XBS5_LP64_OFF64_LDFLAGS, -#define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS - _CS_XBS5_LP64_OFF64_LIBS, -#define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS - _CS_XBS5_LP64_OFF64_LINTFLAGS, -#define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS - _CS_XBS5_LPBIG_OFFBIG_CFLAGS, -#define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS - _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, -#define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS - _CS_XBS5_LPBIG_OFFBIG_LIBS, -#define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS - _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, -#define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS - - _CS_POSIX_V6_ILP32_OFF32_CFLAGS, -#define _CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS - _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, -#define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS - _CS_POSIX_V6_ILP32_OFF32_LIBS, -#define _CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBS - _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, -#define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS - _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, -#define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS - _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, -#define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS - _CS_POSIX_V6_ILP32_OFFBIG_LIBS, -#define _CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS - _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, -#define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS - _CS_POSIX_V6_LP64_OFF64_CFLAGS, -#define _CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS - _CS_POSIX_V6_LP64_OFF64_LDFLAGS, -#define _CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS - _CS_POSIX_V6_LP64_OFF64_LIBS, -#define _CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBS - _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, -#define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS - _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, -#define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS - _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, -#define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS - _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, -#define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS - _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, -#define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS - - _CS_POSIX_V7_ILP32_OFF32_CFLAGS, -#define _CS_POSIX_V7_ILP32_OFF32_CFLAGS _CS_POSIX_V7_ILP32_OFF32_CFLAGS - _CS_POSIX_V7_ILP32_OFF32_LDFLAGS, -#define _CS_POSIX_V7_ILP32_OFF32_LDFLAGS _CS_POSIX_V7_ILP32_OFF32_LDFLAGS - _CS_POSIX_V7_ILP32_OFF32_LIBS, -#define _CS_POSIX_V7_ILP32_OFF32_LIBS _CS_POSIX_V7_ILP32_OFF32_LIBS - _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS, -#define _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS - _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS, -#define _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS - _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS, -#define _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS - _CS_POSIX_V7_ILP32_OFFBIG_LIBS, -#define _CS_POSIX_V7_ILP32_OFFBIG_LIBS _CS_POSIX_V7_ILP32_OFFBIG_LIBS - _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS, -#define _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS - _CS_POSIX_V7_LP64_OFF64_CFLAGS, -#define _CS_POSIX_V7_LP64_OFF64_CFLAGS _CS_POSIX_V7_LP64_OFF64_CFLAGS - _CS_POSIX_V7_LP64_OFF64_LDFLAGS, -#define _CS_POSIX_V7_LP64_OFF64_LDFLAGS _CS_POSIX_V7_LP64_OFF64_LDFLAGS - _CS_POSIX_V7_LP64_OFF64_LIBS, -#define _CS_POSIX_V7_LP64_OFF64_LIBS _CS_POSIX_V7_LP64_OFF64_LIBS - _CS_POSIX_V7_LP64_OFF64_LINTFLAGS, -#define _CS_POSIX_V7_LP64_OFF64_LINTFLAGS _CS_POSIX_V7_LP64_OFF64_LINTFLAGS - _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS, -#define _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS - _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, -#define _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS - _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, -#define _CS_POSIX_V7_LPBIG_OFFBIG_LIBS _CS_POSIX_V7_LPBIG_OFFBIG_LIBS - _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS, -#define _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS - - _CS_V6_ENV, -#define _CS_V6_ENV _CS_V6_ENV - _CS_V7_ENV -#define _CS_V7_ENV _CS_V7_ENV - }; diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@confname.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@confname.h.blob deleted file mode 100644 index d665d7e..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@confname.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endian.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endian.h deleted file mode 100644 index 6372c6f..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endian.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Endian macros for string.h functions - Copyright (C) 1992-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_ENDIAN_H -#define _BITS_ENDIAN_H 1 - -/* Definitions for byte order, according to significance of bytes, - from low addresses to high addresses. The value is what you get by - putting '4' in the most significant byte, '3' in the second most - significant byte, '2' in the second least significant byte, and '1' - in the least significant byte, and then writing down one digit for - each byte, starting with the byte at the lowest address at the left, - and proceeding to the byte with the highest address at the right. */ - -#define __LITTLE_ENDIAN 1234 -#define __BIG_ENDIAN 4321 -#define __PDP_ENDIAN 3412 - -/* This file defines `__BYTE_ORDER' for the particular machine. */ -#include - -/* Some machines may need to use a different endianness for floating point - values. */ -#ifndef __FLOAT_WORD_ORDER -# define __FLOAT_WORD_ORDER __BYTE_ORDER -#endif - -#if __BYTE_ORDER == __LITTLE_ENDIAN -# define __LONG_LONG_PAIR(HI, LO) LO, HI -#elif __BYTE_ORDER == __BIG_ENDIAN -# define __LONG_LONG_PAIR(HI, LO) HI, LO -#endif - -#endif /* bits/endian.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endian.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endian.h.blob deleted file mode 100644 index 26128ab..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endian.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endianness.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endianness.h deleted file mode 100644 index 962a9ae..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endianness.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef _BITS_ENDIANNESS_H -#define _BITS_ENDIANNESS_H 1 - -#ifndef _BITS_ENDIAN_H -# error "Never use directly; include instead." -#endif - -/* i386/x86_64 are little-endian. */ -#define __BYTE_ORDER __LITTLE_ENDIAN - -#endif /* bits/endianness.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endianness.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endianness.h.blob deleted file mode 100644 index 2fb0398..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endianness.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@environments.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@environments.h deleted file mode 100644 index b90d9bc..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@environments.h +++ /dev/null @@ -1,105 +0,0 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _UNISTD_H -# error "Never include this file directly. Use instead" -#endif - -#include - -/* This header should define the following symbols under the described - situations. A value `1' means that the model is always supported, - `-1' means it is never supported. Undefined means it cannot be - statically decided. - - _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type - _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type - - _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type - _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type - - The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, - _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, - _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were - used in previous versions of the Unix standard and are available - only for compatibility. -*/ - -#if __WORDSIZE == 64 - -/* Environments with 32-bit wide pointers are optionally provided. - Therefore following macros aren't defined: - # undef _POSIX_V7_ILP32_OFF32 - # undef _POSIX_V7_ILP32_OFFBIG - # undef _POSIX_V6_ILP32_OFF32 - # undef _POSIX_V6_ILP32_OFFBIG - # undef _XBS5_ILP32_OFF32 - # undef _XBS5_ILP32_OFFBIG - and users need to check at runtime. */ - -/* We also have no use (for now) for an environment with bigger pointers - and offsets. */ -# define _POSIX_V7_LPBIG_OFFBIG -1 -# define _POSIX_V6_LPBIG_OFFBIG -1 -# define _XBS5_LPBIG_OFFBIG -1 - -/* By default we have 64-bit wide `long int', pointers and `off_t'. */ -# define _POSIX_V7_LP64_OFF64 1 -# define _POSIX_V6_LP64_OFF64 1 -# define _XBS5_LP64_OFF64 1 - -#else /* __WORDSIZE == 32 */ - -/* We have 32-bit wide `int', `long int' and pointers and all platforms - support LFS. -mx32 has 64-bit wide `off_t'. */ -# define _POSIX_V7_ILP32_OFFBIG 1 -# define _POSIX_V6_ILP32_OFFBIG 1 -# define _XBS5_ILP32_OFFBIG 1 - -# ifndef __x86_64__ -/* -m32 has 32-bit wide `off_t'. */ -# define _POSIX_V7_ILP32_OFF32 1 -# define _POSIX_V6_ILP32_OFF32 1 -# define _XBS5_ILP32_OFF32 1 -# endif - -/* We optionally provide an environment with the above size but an 64-bit - side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */ - -/* Environments with 64-bit wide pointers can be provided, - so these macros aren't defined: - # undef _POSIX_V7_LP64_OFF64 - # undef _POSIX_V7_LPBIG_OFFBIG - # undef _POSIX_V6_LP64_OFF64 - # undef _POSIX_V6_LPBIG_OFFBIG - # undef _XBS5_LP64_OFF64 - # undef _XBS5_LPBIG_OFFBIG - and sysconf tests for it at runtime. */ - -#endif /* __WORDSIZE == 32 */ - -#define __ILP32_OFF32_CFLAGS "-m32" -#define __ILP32_OFF32_LDFLAGS "-m32" -#if defined __x86_64__ && defined __ILP32__ -# define __ILP32_OFFBIG_CFLAGS "-mx32" -# define __ILP32_OFFBIG_LDFLAGS "-mx32" -#else -# define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" -# define __ILP32_OFFBIG_LDFLAGS "-m32" -#endif -#define __LP64_OFF64_CFLAGS "-m64" -#define __LP64_OFF64_LDFLAGS "-m64" diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@environments.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@environments.h.blob deleted file mode 100644 index 006195d..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@environments.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@errno.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@errno.h deleted file mode 100644 index 230cee0..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@errno.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Error constants. Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_ERRNO_H -#define _BITS_ERRNO_H 1 - -#if !defined _ERRNO_H -# error "Never include directly; use instead." -#endif - -# include - -/* Older Linux headers do not define these constants. */ -# ifndef ENOTSUP -# define ENOTSUP EOPNOTSUPP -# endif - -# ifndef ECANCELED -# define ECANCELED 125 -# endif - -# ifndef EOWNERDEAD -# define EOWNERDEAD 130 -# endif - -#ifndef ENOTRECOVERABLE -# define ENOTRECOVERABLE 131 -# endif - -# ifndef ERFKILL -# define ERFKILL 132 -# endif - -# ifndef EHWPOISON -# define EHWPOISON 133 -# endif - -#endif /* bits/errno.h. */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@errno.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@errno.h.blob deleted file mode 100644 index 860bcd6..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@errno.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl-linux.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl-linux.h deleted file mode 100644 index 20ad78c..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl-linux.h +++ /dev/null @@ -1,444 +0,0 @@ -/* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 2001-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _FCNTL_H -# error "Never use directly; include instead." -#endif - -/* This file contains shared definitions between Linux architectures - and is included by to declare them. The various - #ifndef cases allow the architecture specific file to define those - values with different values. - - A minimal contains just: - - struct flock {...} - #ifdef __USE_LARGEFILE64 - struct flock64 {...} - #endif - #include -*/ - -#ifdef __USE_GNU -# include -#endif - -/* open/fcntl. */ -#define O_ACCMODE 0003 -#define O_RDONLY 00 -#define O_WRONLY 01 -#define O_RDWR 02 -#ifndef O_CREAT -# define O_CREAT 0100 /* Not fcntl. */ -#endif -#ifndef O_EXCL -# define O_EXCL 0200 /* Not fcntl. */ -#endif -#ifndef O_NOCTTY -# define O_NOCTTY 0400 /* Not fcntl. */ -#endif -#ifndef O_TRUNC -# define O_TRUNC 01000 /* Not fcntl. */ -#endif -#ifndef O_APPEND -# define O_APPEND 02000 -#endif -#ifndef O_NONBLOCK -# define O_NONBLOCK 04000 -#endif -#ifndef O_NDELAY -# define O_NDELAY O_NONBLOCK -#endif -#ifndef O_SYNC -# define O_SYNC 04010000 -#endif -#define O_FSYNC O_SYNC -#ifndef O_ASYNC -# define O_ASYNC 020000 -#endif -#ifndef __O_LARGEFILE -# define __O_LARGEFILE 0100000 -#endif - -#ifndef __O_DIRECTORY -# define __O_DIRECTORY 0200000 -#endif -#ifndef __O_NOFOLLOW -# define __O_NOFOLLOW 0400000 -#endif -#ifndef __O_CLOEXEC -# define __O_CLOEXEC 02000000 -#endif -#ifndef __O_DIRECT -# define __O_DIRECT 040000 -#endif -#ifndef __O_NOATIME -# define __O_NOATIME 01000000 -#endif -#ifndef __O_PATH -# define __O_PATH 010000000 -#endif -#ifndef __O_DSYNC -# define __O_DSYNC 010000 -#endif -#ifndef __O_TMPFILE -# define __O_TMPFILE (020000000 | __O_DIRECTORY) -#endif - -#ifndef F_GETLK -# ifndef __USE_FILE_OFFSET64 -# define F_GETLK 5 /* Get record locking info. */ -# define F_SETLK 6 /* Set record locking info (non-blocking). */ -# define F_SETLKW 7 /* Set record locking info (blocking). */ -# else -# define F_GETLK F_GETLK64 /* Get record locking info. */ -# define F_SETLK F_SETLK64 /* Set record locking info (non-blocking).*/ -# define F_SETLKW F_SETLKW64 /* Set record locking info (blocking). */ -# endif -#endif -#ifndef F_GETLK64 -# define F_GETLK64 12 /* Get record locking info. */ -# define F_SETLK64 13 /* Set record locking info (non-blocking). */ -# define F_SETLKW64 14 /* Set record locking info (blocking). */ -#endif - -/* open file description locks. - - Usually record locks held by a process are released on *any* close and are - not inherited across a fork. - - These cmd values will set locks that conflict with process-associated record - locks, but are "owned" by the opened file description, not the process. - This means that they are inherited across fork or clone with CLONE_FILES - like BSD (flock) locks, and they are only released automatically when the - last reference to the the file description against which they were acquired - is put. */ -#ifdef __USE_GNU -# define F_OFD_GETLK 36 -# define F_OFD_SETLK 37 -# define F_OFD_SETLKW 38 -#endif - -#ifdef __USE_LARGEFILE64 -# define O_LARGEFILE __O_LARGEFILE -#endif - -#ifdef __USE_XOPEN2K8 -# define O_DIRECTORY __O_DIRECTORY /* Must be a directory. */ -# define O_NOFOLLOW __O_NOFOLLOW /* Do not follow links. */ -# define O_CLOEXEC __O_CLOEXEC /* Set close_on_exec. */ -#endif - -#ifdef __USE_GNU -# define O_DIRECT __O_DIRECT /* Direct disk access. */ -# define O_NOATIME __O_NOATIME /* Do not set atime. */ -# define O_PATH __O_PATH /* Resolve pathname but do not open file. */ -# define O_TMPFILE __O_TMPFILE /* Atomically create nameless file. */ -#endif - -/* For now, Linux has no separate synchronicity options for read - operations. We define O_RSYNC therefore as the same as O_SYNC - since this is a superset. */ -#if defined __USE_POSIX199309 || defined __USE_UNIX98 -# define O_DSYNC __O_DSYNC /* Synchronize data. */ -# if defined __O_RSYNC -# define O_RSYNC __O_RSYNC /* Synchronize read operations. */ -# else -# define O_RSYNC O_SYNC /* Synchronize read operations. */ -# endif -#endif - -/* Values for the second argument to `fcntl'. */ -#define F_DUPFD 0 /* Duplicate file descriptor. */ -#define F_GETFD 1 /* Get file descriptor flags. */ -#define F_SETFD 2 /* Set file descriptor flags. */ -#define F_GETFL 3 /* Get file status flags. */ -#define F_SETFL 4 /* Set file status flags. */ - -#ifndef __F_SETOWN -# define __F_SETOWN 8 -# define __F_GETOWN 9 -#endif - -#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 -# define F_SETOWN __F_SETOWN /* Get owner (process receiving SIGIO). */ -# define F_GETOWN __F_GETOWN /* Set owner (process receiving SIGIO). */ -#endif - -#ifndef __F_SETSIG -# define __F_SETSIG 10 /* Set number of signal to be sent. */ -# define __F_GETSIG 11 /* Get number of signal to be sent. */ -#endif -#ifndef __F_SETOWN_EX -# define __F_SETOWN_EX 15 /* Get owner (thread receiving SIGIO). */ -# define __F_GETOWN_EX 16 /* Set owner (thread receiving SIGIO). */ -#endif - -#ifdef __USE_GNU -# define F_SETSIG __F_SETSIG /* Set number of signal to be sent. */ -# define F_GETSIG __F_GETSIG /* Get number of signal to be sent. */ -# define F_SETOWN_EX __F_SETOWN_EX /* Get owner (thread receiving SIGIO). */ -# define F_GETOWN_EX __F_GETOWN_EX /* Set owner (thread receiving SIGIO). */ -#endif - -#ifdef __USE_GNU -# define F_SETLEASE 1024 /* Set a lease. */ -# define F_GETLEASE 1025 /* Enquire what lease is active. */ -# define F_NOTIFY 1026 /* Request notifications on a directory. */ -# define F_SETPIPE_SZ 1031 /* Set pipe page size array. */ -# define F_GETPIPE_SZ 1032 /* Set pipe page size array. */ -# define F_ADD_SEALS 1033 /* Add seals to file. */ -# define F_GET_SEALS 1034 /* Get seals for file. */ -/* Set / get write life time hints. */ -# define F_GET_RW_HINT 1035 -# define F_SET_RW_HINT 1036 -# define F_GET_FILE_RW_HINT 1037 -# define F_SET_FILE_RW_HINT 1038 -#endif -#ifdef __USE_XOPEN2K8 -# define F_DUPFD_CLOEXEC 1030 /* Duplicate file descriptor with - close-on-exit set. */ -#endif - -/* For F_[GET|SET]FD. */ -#define FD_CLOEXEC 1 /* Actually anything with low bit set goes */ - -#ifndef F_RDLCK -/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */ -# define F_RDLCK 0 /* Read lock. */ -# define F_WRLCK 1 /* Write lock. */ -# define F_UNLCK 2 /* Remove lock. */ -#endif - - -/* For old implementation of BSD flock. */ -#ifndef F_EXLCK -# define F_EXLCK 4 /* or 3 */ -# define F_SHLCK 8 /* or 4 */ -#endif - -#ifdef __USE_MISC -/* Operations for BSD flock, also used by the kernel implementation. */ -# define LOCK_SH 1 /* Shared lock. */ -# define LOCK_EX 2 /* Exclusive lock. */ -# define LOCK_NB 4 /* Or'd with one of the above to prevent - blocking. */ -# define LOCK_UN 8 /* Remove lock. */ -#endif - -#ifdef __USE_GNU -# define LOCK_MAND 32 /* This is a mandatory flock: */ -# define LOCK_READ 64 /* ... which allows concurrent read operations. */ -# define LOCK_WRITE 128 /* ... which allows concurrent write operations. */ -# define LOCK_RW 192 /* ... Which allows concurrent read & write operations. */ -#endif - -#ifdef __USE_GNU -/* Types of directory notifications that may be requested with F_NOTIFY. */ -# define DN_ACCESS 0x00000001 /* File accessed. */ -# define DN_MODIFY 0x00000002 /* File modified. */ -# define DN_CREATE 0x00000004 /* File created. */ -# define DN_DELETE 0x00000008 /* File removed. */ -# define DN_RENAME 0x00000010 /* File renamed. */ -# define DN_ATTRIB 0x00000020 /* File changed attributes. */ -# define DN_MULTISHOT 0x80000000 /* Don't remove notifier. */ -#endif - - -#ifdef __USE_GNU -/* Owner types. */ -enum __pid_type - { - F_OWNER_TID = 0, /* Kernel thread. */ - F_OWNER_PID, /* Process. */ - F_OWNER_PGRP, /* Process group. */ - F_OWNER_GID = F_OWNER_PGRP /* Alternative, obsolete name. */ - }; - -/* Structure to use with F_GETOWN_EX and F_SETOWN_EX. */ -struct f_owner_ex - { - enum __pid_type type; /* Owner type of ID. */ - __pid_t pid; /* ID of owner. */ - }; -#endif - -#ifdef __USE_GNU -/* Types of seals. */ -# define F_SEAL_SEAL 0x0001 /* Prevent further seals from being set. */ -# define F_SEAL_SHRINK 0x0002 /* Prevent file from shrinking. */ -# define F_SEAL_GROW 0x0004 /* Prevent file from growing. */ -# define F_SEAL_WRITE 0x0008 /* Prevent writes. */ -# define F_SEAL_FUTURE_WRITE 0x0010 /* Prevent future writes while - mapped. */ -#endif - -#ifdef __USE_GNU -/* Hint values for F_{GET,SET}_RW_HINT. */ -# define RWH_WRITE_LIFE_NOT_SET 0 -# define RWF_WRITE_LIFE_NOT_SET RWH_WRITE_LIFE_NOT_SET -# define RWH_WRITE_LIFE_NONE 1 -# define RWH_WRITE_LIFE_SHORT 2 -# define RWH_WRITE_LIFE_MEDIUM 3 -# define RWH_WRITE_LIFE_LONG 4 -# define RWH_WRITE_LIFE_EXTREME 5 -#endif - -/* Define some more compatibility macros to be backward compatible with - BSD systems which did not managed to hide these kernel macros. */ -#ifdef __USE_MISC -# define FAPPEND O_APPEND -# define FFSYNC O_FSYNC -# define FASYNC O_ASYNC -# define FNONBLOCK O_NONBLOCK -# define FNDELAY O_NDELAY -#endif /* Use misc. */ - -#ifndef __POSIX_FADV_DONTNEED -# define __POSIX_FADV_DONTNEED 4 -# define __POSIX_FADV_NOREUSE 5 -#endif -/* Advise to `posix_fadvise'. */ -#ifdef __USE_XOPEN2K -# define POSIX_FADV_NORMAL 0 /* No further special treatment. */ -# define POSIX_FADV_RANDOM 1 /* Expect random page references. */ -# define POSIX_FADV_SEQUENTIAL 2 /* Expect sequential page references. */ -# define POSIX_FADV_WILLNEED 3 /* Will need these pages. */ -# define POSIX_FADV_DONTNEED __POSIX_FADV_DONTNEED /* Don't need these pages. */ -# define POSIX_FADV_NOREUSE __POSIX_FADV_NOREUSE /* Data will be accessed once. */ -#endif - - -#ifdef __USE_GNU -/* Flags for SYNC_FILE_RANGE. */ -# define SYNC_FILE_RANGE_WAIT_BEFORE 1 /* Wait upon writeout of all pages - in the range before performing the - write. */ -# define SYNC_FILE_RANGE_WRITE 2 /* Initiate writeout of all those - dirty pages in the range which are - not presently under writeback. */ -# define SYNC_FILE_RANGE_WAIT_AFTER 4 /* Wait upon writeout of all pages in - the range after performing the - write. */ -/* SYNC_FILE_RANGE_WRITE_AND_WAIT ensures all pages in the range are - written to disk before returning. */ -# define SYNC_FILE_RANGE_WRITE_AND_WAIT (SYNC_FILE_RANGE_WRITE \ - | SYNC_FILE_RANGE_WAIT_BEFORE \ - | SYNC_FILE_RANGE_WAIT_AFTER) - -/* Flags for SPLICE and VMSPLICE. */ -# define SPLICE_F_MOVE 1 /* Move pages instead of copying. */ -# define SPLICE_F_NONBLOCK 2 /* Don't block on the pipe splicing - (but we may still block on the fd - we splice from/to). */ -# define SPLICE_F_MORE 4 /* Expect more data. */ -# define SPLICE_F_GIFT 8 /* Pages passed in are a gift. */ - - -/* Flags for fallocate. */ -# include - - -/* File handle structure. */ -struct file_handle -{ - unsigned int handle_bytes; - int handle_type; - /* File identifier. */ - unsigned char f_handle[0]; -}; - -/* Maximum handle size (for now). */ -# define MAX_HANDLE_SZ 128 -#endif - -__BEGIN_DECLS - -#ifdef __USE_GNU - -/* Provide kernel hint to read ahead. */ -extern __ssize_t readahead (int __fd, __off64_t __offset, size_t __count) - __THROW; - - -/* Selective file content synch'ing. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count, - unsigned int __flags); - - -/* Splice address range into a pipe. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern __ssize_t vmsplice (int __fdout, const struct iovec *__iov, - size_t __count, unsigned int __flags); - -/* Splice two files together. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern __ssize_t splice (int __fdin, __off64_t *__offin, int __fdout, - __off64_t *__offout, size_t __len, - unsigned int __flags); - -/* In-kernel implementation of tee for pipe buffers. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern __ssize_t tee (int __fdin, int __fdout, size_t __len, - unsigned int __flags); - -/* Reserve storage for the data of the file associated with FD. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -# ifndef __USE_FILE_OFFSET64 -extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len); -# else -# ifdef __REDIRECT -extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset, - __off64_t __len), - fallocate64); -# else -# define fallocate fallocate64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int fallocate64 (int __fd, int __mode, __off64_t __offset, - __off64_t __len); -# endif - - -/* Map file name to file handle. */ -extern int name_to_handle_at (int __dfd, const char *__name, - struct file_handle *__handle, int *__mnt_id, - int __flags) __THROW; - -/* Open file using the file handle. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle, - int __flags); - -#endif /* use GNU */ - -__END_DECLS diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl-linux.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl-linux.h.blob deleted file mode 100644 index 7501d8c..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl-linux.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl.h deleted file mode 100644 index 8cc6e95..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl.h +++ /dev/null @@ -1,61 +0,0 @@ -/* O_*, F_*, FD_* bit values for Linux/x86. - Copyright (C) 2001-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _FCNTL_H -# error "Never use directly; include instead." -#endif - -#ifdef __x86_64__ -# define __O_LARGEFILE 0 -#endif - -#ifdef __x86_64__ -/* Not necessary, we always have 64-bit offsets. */ -# define F_GETLK64 5 /* Get record locking info. */ -# define F_SETLK64 6 /* Set record locking info (non-blocking). */ -# define F_SETLKW64 7 /* Set record locking info (blocking). */ -#endif - - -struct flock - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ -#ifndef __USE_FILE_OFFSET64 - __off_t l_start; /* Offset where the lock begins. */ - __off_t l_len; /* Size of the locked area; zero means until EOF. */ -#else - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ -#endif - __pid_t l_pid; /* Process holding the lock. */ - }; - -#ifdef __USE_LARGEFILE64 -struct flock64 - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ - __pid_t l_pid; /* Process holding the lock. */ - }; -#endif - -/* Include generic Linux declarations. */ -#include diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl.h.blob deleted file mode 100644 index 56e7174..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn-common.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn-common.h deleted file mode 100644 index b43c953..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn-common.h +++ /dev/null @@ -1,329 +0,0 @@ -/* Macros to control TS 18661-3 glibc features where the same - definitions are appropriate for all platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_FLOATN_COMMON_H -#define _BITS_FLOATN_COMMON_H - -#include -#include - -/* This header should be included at the bottom of each bits/floatn.h. - It defines the following macros for each _FloatN and _FloatNx type, - where the same definitions, or definitions based only on the macros - in bits/floatn.h, are appropriate for all glibc configurations. */ - -/* Defined to 1 if the current compiler invocation provides a - floating-point type with the right format for this type, and this - glibc includes corresponding *fN or *fNx interfaces for it. */ -#define __HAVE_FLOAT16 0 -#define __HAVE_FLOAT32 1 -#define __HAVE_FLOAT64 1 -#define __HAVE_FLOAT32X 1 -#define __HAVE_FLOAT128X 0 - -/* Defined to 1 if the corresponding __HAVE_ macro is 1 and the - type is the first with its format in the sequence of (the default - choices for) float, double, long double, _Float16, _Float32, - _Float64, _Float128, _Float32x, _Float64x, _Float128x for this - glibc; that is, if functions present once per floating-point format - rather than once per type are present for this type. - - All configurations supported by glibc have _Float32 the same format - as float, _Float64 and _Float32x the same format as double, the - _Float64x the same format as either long double or _Float128. No - configurations support _Float128x or, as of GCC 7, have compiler - support for a type meeting the requirements for _Float128x. */ -#define __HAVE_DISTINCT_FLOAT16 __HAVE_FLOAT16 -#define __HAVE_DISTINCT_FLOAT32 0 -#define __HAVE_DISTINCT_FLOAT64 0 -#define __HAVE_DISTINCT_FLOAT32X 0 -#define __HAVE_DISTINCT_FLOAT64X 0 -#define __HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X - -/* Defined to 1 if the corresponding _FloatN type is not binary compatible - with the corresponding ISO C type in the current compilation unit as - opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built - in glibc. */ -#define __HAVE_FLOAT128_UNLIKE_LDBL (__HAVE_DISTINCT_FLOAT128 \ - && __LDBL_MANT_DIG__ != 113) - -/* Defined to 1 if any _FloatN or _FloatNx types that are not - ABI-distinct are however distinct types at the C language level (so - for the purposes of __builtin_types_compatible_p and _Generic). */ -#if __GNUC_PREREQ (7, 0) && !defined __cplusplus -# define __HAVE_FLOATN_NOT_TYPEDEF 1 -#else -# define __HAVE_FLOATN_NOT_TYPEDEF 0 -#endif - -#ifndef __ASSEMBLER__ - -/* Defined to concatenate the literal suffix to be used with _FloatN - or _FloatNx types, if __HAVE_ is 1. The corresponding - literal suffixes exist since GCC 7, for C only. */ -# if __HAVE_FLOAT16 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -/* No corresponding suffix available for this type. */ -# define __f16(x) ((_Float16) x##f) -# else -# define __f16(x) x##f16 -# endif -# endif - -# if __HAVE_FLOAT32 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# define __f32(x) x##f -# else -# define __f32(x) x##f32 -# endif -# endif - -# if __HAVE_FLOAT64 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# ifdef __NO_LONG_DOUBLE_MATH -# define __f64(x) x##l -# else -# define __f64(x) x -# endif -# else -# define __f64(x) x##f64 -# endif -# endif - -# if __HAVE_FLOAT32X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# define __f32x(x) x -# else -# define __f32x(x) x##f32x -# endif -# endif - -# if __HAVE_FLOAT64X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# if __HAVE_FLOAT64X_LONG_DOUBLE -# define __f64x(x) x##l -# else -# define __f64x(x) __f128 (x) -# endif -# else -# define __f64x(x) x##f64x -# endif -# endif - -# if __HAVE_FLOAT128X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# error "_Float128X supported but no constant suffix" -# else -# define __f128x(x) x##f128x -# endif -# endif - -/* Defined to a complex type if __HAVE_ is 1. */ -# if __HAVE_FLOAT16 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); -# define __CFLOAT16 __cfloat16 -# else -# define __CFLOAT16 _Complex _Float16 -# endif -# endif - -# if __HAVE_FLOAT32 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# define __CFLOAT32 _Complex float -# else -# define __CFLOAT32 _Complex _Float32 -# endif -# endif - -# if __HAVE_FLOAT64 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# ifdef __NO_LONG_DOUBLE_MATH -# define __CFLOAT64 _Complex long double -# else -# define __CFLOAT64 _Complex double -# endif -# else -# define __CFLOAT64 _Complex _Float64 -# endif -# endif - -# if __HAVE_FLOAT32X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# define __CFLOAT32X _Complex double -# else -# define __CFLOAT32X _Complex _Float32x -# endif -# endif - -# if __HAVE_FLOAT64X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# if __HAVE_FLOAT64X_LONG_DOUBLE -# define __CFLOAT64X _Complex long double -# else -# define __CFLOAT64X __CFLOAT128 -# endif -# else -# define __CFLOAT64X _Complex _Float64x -# endif -# endif - -# if __HAVE_FLOAT128X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# error "_Float128X supported but no complex type" -# else -# define __CFLOAT128X _Complex _Float128x -# endif -# endif - -/* The remaining of this file provides support for older compilers. */ -# if __HAVE_FLOAT16 - -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef float _Float16 __attribute__ ((__mode__ (__HF__))); -# endif - -# if !__GNUC_PREREQ (7, 0) -# define __builtin_huge_valf16() ((_Float16) __builtin_huge_val ()) -# define __builtin_inff16() ((_Float16) __builtin_inf ()) -# define __builtin_nanf16(x) ((_Float16) __builtin_nan (x)) -# define __builtin_nansf16(x) ((_Float16) __builtin_nans (x)) -# endif - -# endif - -# if __HAVE_FLOAT32 - -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef float _Float32; -# endif - -# if !__GNUC_PREREQ (7, 0) -# define __builtin_huge_valf32() (__builtin_huge_valf ()) -# define __builtin_inff32() (__builtin_inff ()) -# define __builtin_nanf32(x) (__builtin_nanf (x)) -# define __builtin_nansf32(x) (__builtin_nansf (x)) -# endif - -# endif - -# if __HAVE_FLOAT64 - -/* If double, long double and _Float64 all have the same set of - values, TS 18661-3 requires the usual arithmetic conversions on - long double and _Float64 to produce _Float64. For this to be the - case when building with a compiler without a distinct _Float64 - type, _Float64 must be a typedef for long double, not for - double. */ - -# ifdef __NO_LONG_DOUBLE_MATH - -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef long double _Float64; -# endif - -# if !__GNUC_PREREQ (7, 0) -# define __builtin_huge_valf64() (__builtin_huge_vall ()) -# define __builtin_inff64() (__builtin_infl ()) -# define __builtin_nanf64(x) (__builtin_nanl (x)) -# define __builtin_nansf64(x) (__builtin_nansl (x)) -# endif - -# else - -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef double _Float64; -# endif - -# if !__GNUC_PREREQ (7, 0) -# define __builtin_huge_valf64() (__builtin_huge_val ()) -# define __builtin_inff64() (__builtin_inf ()) -# define __builtin_nanf64(x) (__builtin_nan (x)) -# define __builtin_nansf64(x) (__builtin_nans (x)) -# endif - -# endif - -# endif - -# if __HAVE_FLOAT32X - -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef double _Float32x; -# endif - -# if !__GNUC_PREREQ (7, 0) -# define __builtin_huge_valf32x() (__builtin_huge_val ()) -# define __builtin_inff32x() (__builtin_inf ()) -# define __builtin_nanf32x(x) (__builtin_nan (x)) -# define __builtin_nansf32x(x) (__builtin_nans (x)) -# endif - -# endif - -# if __HAVE_FLOAT64X - -# if __HAVE_FLOAT64X_LONG_DOUBLE - -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef long double _Float64x; -# endif - -# if !__GNUC_PREREQ (7, 0) -# define __builtin_huge_valf64x() (__builtin_huge_vall ()) -# define __builtin_inff64x() (__builtin_infl ()) -# define __builtin_nanf64x(x) (__builtin_nanl (x)) -# define __builtin_nansf64x(x) (__builtin_nansl (x)) -# endif - -# else - -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef _Float128 _Float64x; -# endif - -# if !__GNUC_PREREQ (7, 0) -# define __builtin_huge_valf64x() (__builtin_huge_valf128 ()) -# define __builtin_inff64x() (__builtin_inff128 ()) -# define __builtin_nanf64x(x) (__builtin_nanf128 (x)) -# define __builtin_nansf64x(x) (__builtin_nansf128 (x)) -# endif - -# endif - -# endif - -# if __HAVE_FLOAT128X - -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# error "_Float128x supported but no type" -# endif - -# if !__GNUC_PREREQ (7, 0) -# define __builtin_huge_valf128x() ((_Float128x) __builtin_huge_val ()) -# define __builtin_inff128x() ((_Float128x) __builtin_inf ()) -# define __builtin_nanf128x(x) ((_Float128x) __builtin_nan (x)) -# define __builtin_nansf128x(x) ((_Float128x) __builtin_nans (x)) -# endif - -# endif - -#endif /* !__ASSEMBLER__. */ - -#endif /* _BITS_FLOATN_COMMON_H */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn-common.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn-common.h.blob deleted file mode 100644 index ee256b2..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn-common.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn.h deleted file mode 100644 index f0c5171..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn.h +++ /dev/null @@ -1,121 +0,0 @@ -/* Macros to control TS 18661-3 glibc features on x86. - Copyright (C) 2017-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_FLOATN_H -#define _BITS_FLOATN_H - -#include - -/* Defined to 1 if the current compiler invocation provides a - floating-point type with the IEEE 754 binary128 format, and this - glibc includes corresponding *f128 interfaces for it. The required - libgcc support was added some time after the basic compiler - support, for x86_64 and x86. */ -#if (defined __x86_64__ \ - ? __GNUC_PREREQ (4, 3) \ - : (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4))) -# define __HAVE_FLOAT128 1 -#else -# define __HAVE_FLOAT128 0 -#endif - -/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct - from the default float, double and long double types in this glibc. */ -#if __HAVE_FLOAT128 -# define __HAVE_DISTINCT_FLOAT128 1 -#else -# define __HAVE_DISTINCT_FLOAT128 0 -#endif - -/* Defined to 1 if the current compiler invocation provides a - floating-point type with the right format for _Float64x, and this - glibc includes corresponding *f64x interfaces for it. */ -#define __HAVE_FLOAT64X 1 - -/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format - of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has - the format of _Float128, which must be different from that of long - double. */ -#define __HAVE_FLOAT64X_LONG_DOUBLE 1 - -#ifndef __ASSEMBLER__ - -/* Defined to concatenate the literal suffix to be used with _Float128 - types, if __HAVE_FLOAT128 is 1. */ -# if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -/* The literal suffix f128 exists only since GCC 7.0. */ -# define __f128(x) x##q -# else -# define __f128(x) x##f128 -# endif -# endif - -/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ -# if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -/* Add a typedef for older GCC compilers which don't natively support - _Complex _Float128. */ -typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); -# define __CFLOAT128 __cfloat128 -# else -# define __CFLOAT128 _Complex _Float128 -# endif -# endif - -/* The remaining of this file provides support for older compilers. */ -# if __HAVE_FLOAT128 - -/* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef __float128 _Float128; -# endif - -/* __builtin_huge_valf128 doesn't exist before GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) -# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ()) -# endif - -/* Older GCC has only a subset of built-in functions for _Float128 on - x86, and __builtin_infq is not usable in static initializers. - Converting a narrower sNaN to _Float128 produces a quiet NaN, so - attempts to use _Float128 sNaNs will not work properly with older - compilers. */ -# if !__GNUC_PREREQ (7, 0) -# define __builtin_copysignf128 __builtin_copysignq -# define __builtin_fabsf128 __builtin_fabsq -# define __builtin_inff128() ((_Float128) __builtin_inf ()) -# define __builtin_nanf128(x) ((_Float128) __builtin_nan (x)) -# define __builtin_nansf128(x) ((_Float128) __builtin_nans (x)) -# endif - -/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*, - e.g.: __builtin_signbitf128, before GCC 6. However, there has never - been a __builtin_signbitf128 in GCC and the type-generic builtin is - only available since GCC 6. */ -# if !__GNUC_PREREQ (6, 0) -# define __builtin_signbitf128 __signbitf128 -# endif - -# endif - -#endif /* !__ASSEMBLER__. */ - -#include - -#endif /* _BITS_FLOATN_H */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn.h.blob deleted file mode 100644 index ad93f4b..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_core.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_core.h deleted file mode 100644 index 1751a20..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_core.h +++ /dev/null @@ -1,96 +0,0 @@ -/* Declarations for getopt (basic, portable features only). - Copyright (C) 1989-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library and is also part of gnulib. - Patches to this file should be submitted to both projects. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _GETOPT_CORE_H -#define _GETOPT_CORE_H 1 - -/* This header should not be used directly; include getopt.h or - unistd.h instead. Unlike most bits headers, it does not have - a protective #error, because the guard macro for getopt.h in - gnulib is not fixed. */ - -__BEGIN_DECLS - -/* For communication from 'getopt' to the caller. - When 'getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when 'ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -extern char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to 'getopt'. - - On entry to 'getopt', zero means this is the first call; initialize. - - When 'getopt' returns -1, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, 'optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -extern int optind; - -/* Callers store zero here to inhibit the error message 'getopt' prints - for unrecognized options. */ - -extern int opterr; - -/* Set to an option character which was unrecognized. */ - -extern int optopt; - -/* Get definitions and prototypes for functions to process the - arguments in ARGV (ARGC of them, minus the program name) for - options given in OPTS. - - Return the option character from OPTS just read. Return -1 when - there are no more options. For unrecognized options, or options - missing arguments, 'optopt' is set to the option letter, and '?' is - returned. - - The OPTS string is a list of characters which are recognized option - letters, optionally followed by colons, specifying that that letter - takes an argument, to be placed in 'optarg'. - - If a letter in OPTS is followed by two colons, its argument is - optional. This behavior is specific to the GNU 'getopt'. - - The argument '--' causes premature termination of argument - scanning, explicitly telling 'getopt' that there are no more - options. - - If OPTS begins with '-', then non-option arguments are treated as - arguments to the option '\1'. This behavior is specific to the GNU - 'getopt'. If OPTS begins with '+', or POSIXLY_CORRECT is set in - the environment, then do not permute arguments. - - For standards compliance, the 'argv' argument has the type - char *const *, but this is inaccurate; if argument permutation is - enabled, the argv array (not the strings it points to) must be - writable. */ - -extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) - __THROW __nonnull ((2, 3)); - -__END_DECLS - -#endif /* getopt_core.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_core.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_core.h.blob deleted file mode 100644 index 8270614..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_core.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_posix.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_posix.h deleted file mode 100644 index f49e1f3..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_posix.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Declarations for getopt (POSIX compatibility shim). - Copyright (C) 1989-2021 Free Software Foundation, Inc. - Unlike the bulk of the getopt implementation, this file is NOT part - of gnulib. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _GETOPT_POSIX_H -#define _GETOPT_POSIX_H 1 - -#if !defined _UNISTD_H && !defined _STDIO_H -#error "Never include getopt_posix.h directly; use unistd.h instead." -#endif - -#include - -__BEGIN_DECLS - -#if defined __USE_POSIX2 && !defined __USE_POSIX_IMPLICITLY \ - && !defined __USE_GNU && !defined _GETOPT_H -/* GNU getopt has more functionality than POSIX getopt. When we are - explicitly conforming to POSIX and not GNU, and getopt.h (which is - not part of POSIX) has not been included, the extra functionality - is disabled. */ -# ifdef __REDIRECT -extern int __REDIRECT_NTH (getopt, (int ___argc, char *const *___argv, - const char *__shortopts), - __posix_getopt); -# else -extern int __posix_getopt (int ___argc, char *const *___argv, - const char *__shortopts) - __THROW __nonnull ((2, 3)); -# define getopt __posix_getopt -# endif -#endif - -__END_DECLS - -#endif /* getopt_posix.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_posix.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_posix.h.blob deleted file mode 100644 index e3da454..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_posix.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctl-types.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctl-types.h deleted file mode 100644 index 508a0c3..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctl-types.h +++ /dev/null @@ -1,77 +0,0 @@ -/* Structure types for pre-termios terminal ioctls. Linux version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_IOCTL_H -# error "Never use directly; include instead." -#endif - -/* Get definition of constants for use with `ioctl'. */ -#include - - -struct winsize - { - unsigned short int ws_row; - unsigned short int ws_col; - unsigned short int ws_xpixel; - unsigned short int ws_ypixel; - }; - -#define NCC 8 -struct termio - { - unsigned short int c_iflag; /* input mode flags */ - unsigned short int c_oflag; /* output mode flags */ - unsigned short int c_cflag; /* control mode flags */ - unsigned short int c_lflag; /* local mode flags */ - unsigned char c_line; /* line discipline */ - unsigned char c_cc[NCC]; /* control characters */ -}; - -/* modem lines */ -#define TIOCM_LE 0x001 -#define TIOCM_DTR 0x002 -#define TIOCM_RTS 0x004 -#define TIOCM_ST 0x008 -#define TIOCM_SR 0x010 -#define TIOCM_CTS 0x020 -#define TIOCM_CAR 0x040 -#define TIOCM_RNG 0x080 -#define TIOCM_DSR 0x100 -#define TIOCM_CD TIOCM_CAR -#define TIOCM_RI TIOCM_RNG - -/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ - -/* line disciplines */ -#define N_TTY 0 -#define N_SLIP 1 -#define N_MOUSE 2 -#define N_PPP 3 -#define N_STRIP 4 -#define N_AX25 5 -#define N_X25 6 /* X.25 async */ -#define N_6PACK 7 -#define N_MASC 8 /* Mobitex module */ -#define N_R3964 9 /* Simatic R3964 module */ -#define N_PROFIBUS_FDL 10 /* Profibus */ -#define N_IRDA 11 /* Linux IR */ -#define N_SMSBLOCK 12 /* SMS block mode */ -#define N_HDLC 13 /* synchronous HDLC */ -#define N_SYNC_PPP 14 /* synchronous PPP */ -#define N_HCI 15 /* Bluetooth HCI UART */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctl-types.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctl-types.h.blob deleted file mode 100644 index afd4642..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctl-types.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctls.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctls.h deleted file mode 100644 index 0e53bc7..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctls.h +++ /dev/null @@ -1,108 +0,0 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_IOCTL_H -# error "Never use directly; include instead." -#endif - -/* Use the definitions from the kernel header files. */ -#include - -/* Routing table calls. */ -#define SIOCADDRT 0x890B /* add routing table entry */ -#define SIOCDELRT 0x890C /* delete routing table entry */ -#define SIOCRTMSG 0x890D /* call to routing system */ - -/* Socket configuration controls. */ -#define SIOCGIFNAME 0x8910 /* get iface name */ -#define SIOCSIFLINK 0x8911 /* set iface channel */ -#define SIOCGIFCONF 0x8912 /* get iface list */ -#define SIOCGIFFLAGS 0x8913 /* get flags */ -#define SIOCSIFFLAGS 0x8914 /* set flags */ -#define SIOCGIFADDR 0x8915 /* get PA address */ -#define SIOCSIFADDR 0x8916 /* set PA address */ -#define SIOCGIFDSTADDR 0x8917 /* get remote PA address */ -#define SIOCSIFDSTADDR 0x8918 /* set remote PA address */ -#define SIOCGIFBRDADDR 0x8919 /* get broadcast PA address */ -#define SIOCSIFBRDADDR 0x891a /* set broadcast PA address */ -#define SIOCGIFNETMASK 0x891b /* get network PA mask */ -#define SIOCSIFNETMASK 0x891c /* set network PA mask */ -#define SIOCGIFMETRIC 0x891d /* get metric */ -#define SIOCSIFMETRIC 0x891e /* set metric */ -#define SIOCGIFMEM 0x891f /* get memory address (BSD) */ -#define SIOCSIFMEM 0x8920 /* set memory address (BSD) */ -#define SIOCGIFMTU 0x8921 /* get MTU size */ -#define SIOCSIFMTU 0x8922 /* set MTU size */ -#define SIOCSIFNAME 0x8923 /* set interface name */ -#define SIOCSIFHWADDR 0x8924 /* set hardware address */ -#define SIOCGIFENCAP 0x8925 /* get/set encapsulations */ -#define SIOCSIFENCAP 0x8926 -#define SIOCGIFHWADDR 0x8927 /* Get hardware address */ -#define SIOCGIFSLAVE 0x8929 /* Driver slaving support */ -#define SIOCSIFSLAVE 0x8930 -#define SIOCADDMULTI 0x8931 /* Multicast address lists */ -#define SIOCDELMULTI 0x8932 -#define SIOCGIFINDEX 0x8933 /* name -> if_index mapping */ -#define SIOGIFINDEX SIOCGIFINDEX /* misprint compatibility :-) */ -#define SIOCSIFPFLAGS 0x8934 /* set/get extended flags set */ -#define SIOCGIFPFLAGS 0x8935 -#define SIOCDIFADDR 0x8936 /* delete PA address */ -#define SIOCSIFHWBROADCAST 0x8937 /* set hardware broadcast addr */ -#define SIOCGIFCOUNT 0x8938 /* get number of devices */ - -#define SIOCGIFBR 0x8940 /* Bridging support */ -#define SIOCSIFBR 0x8941 /* Set bridging options */ - -#define SIOCGIFTXQLEN 0x8942 /* Get the tx queue length */ -#define SIOCSIFTXQLEN 0x8943 /* Set the tx queue length */ - - -/* ARP cache control calls. */ - /* 0x8950 - 0x8952 * obsolete calls, don't re-use */ -#define SIOCDARP 0x8953 /* delete ARP table entry */ -#define SIOCGARP 0x8954 /* get ARP table entry */ -#define SIOCSARP 0x8955 /* set ARP table entry */ - -/* RARP cache control calls. */ -#define SIOCDRARP 0x8960 /* delete RARP table entry */ -#define SIOCGRARP 0x8961 /* get RARP table entry */ -#define SIOCSRARP 0x8962 /* set RARP table entry */ - -/* Driver configuration calls */ - -#define SIOCGIFMAP 0x8970 /* Get device parameters */ -#define SIOCSIFMAP 0x8971 /* Set device parameters */ - -/* DLCI configuration calls */ - -#define SIOCADDDLCI 0x8980 /* Create new DLCI device */ -#define SIOCDELDLCI 0x8981 /* Delete DLCI device */ - -/* Device private ioctl calls. */ - -/* These 16 ioctls are available to devices via the do_ioctl() device - vector. Each device should include this file and redefine these - names as their own. Because these are device dependent it is a good - idea _NOT_ to issue them to random objects and hope. */ - -#define SIOCDEVPRIVATE 0x89F0 /* to 89FF */ - -/* - * These 16 ioctl calls are protocol private - */ - -#define SIOCPROTOPRIVATE 0x89E0 /* to 89EF */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctls.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctls.h.blob deleted file mode 100644 index 8bb44a4..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctls.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@libc-header-start.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@libc-header-start.h deleted file mode 100644 index 47f3910..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@libc-header-start.h +++ /dev/null @@ -1,110 +0,0 @@ -/* Handle feature test macros at the start of a header. - Copyright (C) 2016-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* This header is internal to glibc and should not be included outside - of glibc headers. Headers including it must define - __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header - cannot have multiple include guards because ISO C feature test - macros depend on the definition of the macro when an affected - header is included, not when the first system header is - included. */ - -#ifndef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION -# error "Never include directly." -#endif - -#undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION - -#include - -/* ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ - macro. */ -#undef __GLIBC_USE_LIB_EXT2 -#if (defined __USE_GNU \ - || (defined __STDC_WANT_LIB_EXT2__ && __STDC_WANT_LIB_EXT2__ > 0)) -# define __GLIBC_USE_LIB_EXT2 1 -#else -# define __GLIBC_USE_LIB_EXT2 0 -#endif - -/* ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ - macro. Most but not all symbols enabled by that macro in TS - 18661-1 are enabled unconditionally in C2X. In C2X, the symbols in - Annex F still require a new feature test macro - __STDC_WANT_IEC_60559_EXT__ instead (C2X does not define - __STDC_WANT_IEC_60559_BFP_EXT__), while a few features from TS - 18661-1 are not included in C2X (and thus should depend on - __STDC_WANT_IEC_60559_BFP_EXT__ even when C2X features are - enabled). - - __GLIBC_USE (IEC_60559_BFP_EXT) controls those features from TS - 18661-1 not included in C2X. - - __GLIBC_USE (IEC_60559_BFP_EXT_C2X) controls those features from TS - 18661-1 that are also included in C2X (with no feature test macro - required in C2X). - - __GLIBC_USE (IEC_60559_EXT) controls those features from TS 18661-1 - that are included in C2X but conditional on - __STDC_WANT_IEC_60559_EXT__. (There are currently no features - conditional on __STDC_WANT_IEC_60559_EXT__ that are not in TS - 18661-1.) */ -#undef __GLIBC_USE_IEC_60559_BFP_EXT -#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_BFP_EXT__ -# define __GLIBC_USE_IEC_60559_BFP_EXT 1 -#else -# define __GLIBC_USE_IEC_60559_BFP_EXT 0 -#endif -#undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X -#if __GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC2X) -# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1 -#else -# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 0 -#endif -#undef __GLIBC_USE_IEC_60559_EXT -#if __GLIBC_USE (IEC_60559_BFP_EXT) || defined __STDC_WANT_IEC_60559_EXT__ -# define __GLIBC_USE_IEC_60559_EXT 1 -#else -# define __GLIBC_USE_IEC_60559_EXT 0 -#endif - -/* ISO/IEC TS 18661-4:2015 defines the - __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction - functions, the symbols from this TS are enabled unconditionally in - C2X. */ -#undef __GLIBC_USE_IEC_60559_FUNCS_EXT -#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_FUNCS_EXT__ -# define __GLIBC_USE_IEC_60559_FUNCS_EXT 1 -#else -# define __GLIBC_USE_IEC_60559_FUNCS_EXT 0 -#endif -#undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X -#if __GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC2X) -# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1 -#else -# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 0 -#endif - -/* ISO/IEC TS 18661-3:2015 defines the - __STDC_WANT_IEC_60559_TYPES_EXT__ macro. */ -#undef __GLIBC_USE_IEC_60559_TYPES_EXT -#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_TYPES_EXT__ -# define __GLIBC_USE_IEC_60559_TYPES_EXT 1 -#else -# define __GLIBC_USE_IEC_60559_TYPES_EXT 0 -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@libc-header-start.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@libc-header-start.h.blob deleted file mode 100644 index 3c7c874..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@libc-header-start.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@local_lim.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@local_lim.h deleted file mode 100644 index b8f8923..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@local_lim.h +++ /dev/null @@ -1,99 +0,0 @@ -/* Minimum guaranteed maximum values for system limits. Linux version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation; either version 2.1 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; see the file COPYING.LIB. If - not, see . */ - -/* The kernel header pollutes the namespace with the NR_OPEN symbol - and defines LINK_MAX although filesystems have different maxima. A - similar thing is true for OPEN_MAX: the limit can be changed at - runtime and therefore the macro must not be defined. Remove this - after including the header if necessary. */ -#ifndef NR_OPEN -# define __undef_NR_OPEN -#endif -#ifndef LINK_MAX -# define __undef_LINK_MAX -#endif -#ifndef OPEN_MAX -# define __undef_OPEN_MAX -#endif -#ifndef ARG_MAX -# define __undef_ARG_MAX -#endif - -/* The kernel sources contain a file with all the needed information. */ -#include - -/* Have to remove NR_OPEN? */ -#ifdef __undef_NR_OPEN -# undef NR_OPEN -# undef __undef_NR_OPEN -#endif -/* Have to remove LINK_MAX? */ -#ifdef __undef_LINK_MAX -# undef LINK_MAX -# undef __undef_LINK_MAX -#endif -/* Have to remove OPEN_MAX? */ -#ifdef __undef_OPEN_MAX -# undef OPEN_MAX -# undef __undef_OPEN_MAX -#endif -/* Have to remove ARG_MAX? */ -#ifdef __undef_ARG_MAX -# undef ARG_MAX -# undef __undef_ARG_MAX -#endif - -/* The number of data keys per process. */ -#define _POSIX_THREAD_KEYS_MAX 128 -/* This is the value this implementation supports. */ -#define PTHREAD_KEYS_MAX 1024 - -/* Controlling the iterations of destructors for thread-specific data. */ -#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 -/* Number of iterations this implementation does. */ -#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS - -/* The number of threads per process. */ -#define _POSIX_THREAD_THREADS_MAX 64 -/* We have no predefined limit on the number of threads. */ -#undef PTHREAD_THREADS_MAX - -/* Maximum amount by which a process can descrease its asynchronous I/O - priority level. */ -#define AIO_PRIO_DELTA_MAX 20 - -/* Arrange for the definition of PTHREAD_STACK_MIN. */ -#include - -/* Maximum number of timer expiration overruns. */ -#define DELAYTIMER_MAX 2147483647 - -/* Maximum tty name length. */ -#define TTY_NAME_MAX 32 - -/* Maximum login name length. This is arbitrary. */ -#define LOGIN_NAME_MAX 256 - -/* Maximum host name length. */ -#define HOST_NAME_MAX 64 - -/* Maximum message queue priority level. */ -#define MQ_PRIO_MAX 32768 - -/* Maximum value the semaphore can have. */ -#define SEM_VALUE_MAX (2147483647) diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@local_lim.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@local_lim.h.blob deleted file mode 100644 index 9075c9a..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@local_lim.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@long-double.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@long-double.h deleted file mode 100644 index 5b3c841..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@long-double.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Properties of long double type. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* long double is distinct from double, so there is nothing to - define here. */ -#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@long-double.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@long-double.h.blob deleted file mode 100644 index db98deb..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@long-double.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix1_lim.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix1_lim.h deleted file mode 100644 index c645847..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix1_lim.h +++ /dev/null @@ -1,183 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * POSIX Standard: 2.9.2 Minimum Values Added to - * - * Never include this file directly; use instead. - */ - -#ifndef _BITS_POSIX1_LIM_H -#define _BITS_POSIX1_LIM_H 1 - -#include - -/* These are the standard-mandated minimum values. */ - -/* Minimum number of operations in one list I/O call. */ -#define _POSIX_AIO_LISTIO_MAX 2 - -/* Minimal number of outstanding asynchronous I/O operations. */ -#define _POSIX_AIO_MAX 1 - -/* Maximum length of arguments to `execve', including environment. */ -#define _POSIX_ARG_MAX 4096 - -/* Maximum simultaneous processes per real user ID. */ -#ifdef __USE_XOPEN2K -# define _POSIX_CHILD_MAX 25 -#else -# define _POSIX_CHILD_MAX 6 -#endif - -/* Minimal number of timer expiration overruns. */ -#define _POSIX_DELAYTIMER_MAX 32 - -/* Maximum length of a host name (not including the terminating null) - as returned from the GETHOSTNAME function. */ -#define _POSIX_HOST_NAME_MAX 255 - -/* Maximum link count of a file. */ -#define _POSIX_LINK_MAX 8 - -/* Maximum length of login name. */ -#define _POSIX_LOGIN_NAME_MAX 9 - -/* Number of bytes in a terminal canonical input queue. */ -#define _POSIX_MAX_CANON 255 - -/* Number of bytes for which space will be - available in a terminal input queue. */ -#define _POSIX_MAX_INPUT 255 - -/* Maximum number of message queues open for a process. */ -#define _POSIX_MQ_OPEN_MAX 8 - -/* Maximum number of supported message priorities. */ -#define _POSIX_MQ_PRIO_MAX 32 - -/* Number of bytes in a filename. */ -#define _POSIX_NAME_MAX 14 - -/* Number of simultaneous supplementary group IDs per process. */ -#ifdef __USE_XOPEN2K -# define _POSIX_NGROUPS_MAX 8 -#else -# define _POSIX_NGROUPS_MAX 0 -#endif - -/* Number of files one process can have open at once. */ -#ifdef __USE_XOPEN2K -# define _POSIX_OPEN_MAX 20 -#else -# define _POSIX_OPEN_MAX 16 -#endif - -#if !defined __USE_XOPEN2K || defined __USE_GNU -/* Number of descriptors that a process may examine with `pselect' or - `select'. */ -# define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX -#endif - -/* Number of bytes in a pathname. */ -#define _POSIX_PATH_MAX 256 - -/* Number of bytes than can be written atomically to a pipe. */ -#define _POSIX_PIPE_BUF 512 - -/* The number of repeated occurrences of a BRE permitted by the - REGEXEC and REGCOMP functions when using the interval notation. */ -#define _POSIX_RE_DUP_MAX 255 - -/* Minimal number of realtime signals reserved for the application. */ -#define _POSIX_RTSIG_MAX 8 - -/* Number of semaphores a process can have. */ -#define _POSIX_SEM_NSEMS_MAX 256 - -/* Maximal value of a semaphore. */ -#define _POSIX_SEM_VALUE_MAX 32767 - -/* Number of pending realtime signals. */ -#define _POSIX_SIGQUEUE_MAX 32 - -/* Largest value of a `ssize_t'. */ -#define _POSIX_SSIZE_MAX 32767 - -/* Number of streams a process can have open at once. */ -#define _POSIX_STREAM_MAX 8 - -/* The number of bytes in a symbolic link. */ -#define _POSIX_SYMLINK_MAX 255 - -/* The number of symbolic links that can be traversed in the - resolution of a pathname in the absence of a loop. */ -#define _POSIX_SYMLOOP_MAX 8 - -/* Number of timer for a process. */ -#define _POSIX_TIMER_MAX 32 - -/* Maximum number of characters in a tty name. */ -#define _POSIX_TTY_NAME_MAX 9 - -/* Maximum length of a timezone name (element of `tzname'). */ -#ifdef __USE_XOPEN2K -# define _POSIX_TZNAME_MAX 6 -#else -# define _POSIX_TZNAME_MAX 3 -#endif - -#if !defined __USE_XOPEN2K || defined __USE_GNU -/* Maximum number of connections that can be queued on a socket. */ -# define _POSIX_QLIMIT 1 - -/* Maximum number of bytes that can be buffered on a socket for send - or receive. */ -# define _POSIX_HIWAT _POSIX_PIPE_BUF - -/* Maximum number of elements in an `iovec' array. */ -# define _POSIX_UIO_MAXIOV 16 -#endif - -/* Maximum clock resolution in nanoseconds. */ -#define _POSIX_CLOCKRES_MIN 20000000 - - -/* Get the implementation-specific values for the above. */ -#include - - -#ifndef SSIZE_MAX -/* ssize_t is not formally required to be the signed type - corresponding to size_t, but it is for all configurations supported - by glibc. */ -# if __WORDSIZE == 64 || __WORDSIZE32_SIZE_ULONG -# define SSIZE_MAX LONG_MAX -# else -# define SSIZE_MAX INT_MAX -# endif -#endif - - -/* This value is a guaranteed minimum maximum. - The current maximum can be got from `sysconf'. */ - -#ifndef NGROUPS_MAX -# define NGROUPS_MAX 8 -#endif - -#endif /* bits/posix1_lim.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix1_lim.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix1_lim.h.blob deleted file mode 100644 index 52f76eb..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix1_lim.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix2_lim.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix2_lim.h deleted file mode 100644 index 7ac13cb..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix2_lim.h +++ /dev/null @@ -1,90 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * Never include this file directly; include instead. - */ - -#ifndef _BITS_POSIX2_LIM_H -#define _BITS_POSIX2_LIM_H 1 - - -/* The maximum `ibase' and `obase' values allowed by the `bc' utility. */ -#define _POSIX2_BC_BASE_MAX 99 - -/* The maximum number of elements allowed in an array by the `bc' utility. */ -#define _POSIX2_BC_DIM_MAX 2048 - -/* The maximum `scale' value allowed by the `bc' utility. */ -#define _POSIX2_BC_SCALE_MAX 99 - -/* The maximum length of a string constant accepted by the `bc' utility. */ -#define _POSIX2_BC_STRING_MAX 1000 - -/* The maximum number of weights that can be assigned to an entry of - the LC_COLLATE `order' keyword in the locale definition file. */ -#define _POSIX2_COLL_WEIGHTS_MAX 2 - -/* The maximum number of expressions that can be nested - within parentheses by the `expr' utility. */ -#define _POSIX2_EXPR_NEST_MAX 32 - -/* The maximum length, in bytes, of an input line. */ -#define _POSIX2_LINE_MAX 2048 - -/* The maximum number of repeated occurrences of a regular expression - permitted when using the interval notation `\{M,N\}'. */ -#define _POSIX2_RE_DUP_MAX 255 - -/* The maximum number of bytes in a character class name. We have no - fixed limit, 2048 is a high number. */ -#define _POSIX2_CHARCLASS_NAME_MAX 14 - - -/* These values are implementation-specific, - and may vary within the implementation. - Their precise values can be obtained from sysconf. */ - -#ifndef BC_BASE_MAX -#define BC_BASE_MAX _POSIX2_BC_BASE_MAX -#endif -#ifndef BC_DIM_MAX -#define BC_DIM_MAX _POSIX2_BC_DIM_MAX -#endif -#ifndef BC_SCALE_MAX -#define BC_SCALE_MAX _POSIX2_BC_SCALE_MAX -#endif -#ifndef BC_STRING_MAX -#define BC_STRING_MAX _POSIX2_BC_STRING_MAX -#endif -#ifndef COLL_WEIGHTS_MAX -#define COLL_WEIGHTS_MAX 255 -#endif -#ifndef EXPR_NEST_MAX -#define EXPR_NEST_MAX _POSIX2_EXPR_NEST_MAX -#endif -#ifndef LINE_MAX -#define LINE_MAX _POSIX2_LINE_MAX -#endif -#ifndef CHARCLASS_NAME_MAX -#define CHARCLASS_NAME_MAX 2048 -#endif - -/* This value is defined like this in regex.h. */ -#define RE_DUP_MAX (0x7fff) - -#endif /* bits/posix2_lim.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix2_lim.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix2_lim.h.blob deleted file mode 100644 index 6078f46..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix2_lim.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix_opt.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix_opt.h deleted file mode 100644 index 4d7d634..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix_opt.h +++ /dev/null @@ -1,194 +0,0 @@ -/* Define POSIX options for Linux. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation; either version 2.1 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; see the file COPYING.LIB. If - not, see . */ - -#ifndef _BITS_POSIX_OPT_H -#define _BITS_POSIX_OPT_H 1 - -/* Job control is supported. */ -#define _POSIX_JOB_CONTROL 1 - -/* Processes have a saved set-user-ID and a saved set-group-ID. */ -#define _POSIX_SAVED_IDS 1 - -/* Priority scheduling is not supported with the correct semantics, - but GNU/Linux applications expect that the corresponding interfaces - are available, even though the semantics do not meet the POSIX - requirements. See glibc bug 14829. */ -#define _POSIX_PRIORITY_SCHEDULING 200809L - -/* Synchronizing file data is supported. */ -#define _POSIX_SYNCHRONIZED_IO 200809L - -/* The fsync function is present. */ -#define _POSIX_FSYNC 200809L - -/* Mapping of files to memory is supported. */ -#define _POSIX_MAPPED_FILES 200809L - -/* Locking of all memory is supported. */ -#define _POSIX_MEMLOCK 200809L - -/* Locking of ranges of memory is supported. */ -#define _POSIX_MEMLOCK_RANGE 200809L - -/* Setting of memory protections is supported. */ -#define _POSIX_MEMORY_PROTECTION 200809L - -/* Some filesystems allow all users to change file ownership. */ -#define _POSIX_CHOWN_RESTRICTED 0 - -/* `c_cc' member of 'struct termios' structure can be disabled by - using the value _POSIX_VDISABLE. */ -#define _POSIX_VDISABLE '\0' - -/* Filenames are not silently truncated. */ -#define _POSIX_NO_TRUNC 1 - -/* X/Open realtime support is available. */ -#define _XOPEN_REALTIME 1 - -/* X/Open thread realtime support is available. */ -#define _XOPEN_REALTIME_THREADS 1 - -/* XPG4.2 shared memory is supported. */ -#define _XOPEN_SHM 1 - -/* Tell we have POSIX threads. */ -#define _POSIX_THREADS 200809L - -/* We have the reentrant functions described in POSIX. */ -#define _POSIX_REENTRANT_FUNCTIONS 1 -#define _POSIX_THREAD_SAFE_FUNCTIONS 200809L - -/* We provide priority scheduling for threads. */ -#define _POSIX_THREAD_PRIORITY_SCHEDULING 200809L - -/* We support user-defined stack sizes. */ -#define _POSIX_THREAD_ATTR_STACKSIZE 200809L - -/* We support user-defined stacks. */ -#define _POSIX_THREAD_ATTR_STACKADDR 200809L - -/* We support priority inheritence. */ -#define _POSIX_THREAD_PRIO_INHERIT 200809L - -/* We support priority protection, though only for non-robust - mutexes. */ -#define _POSIX_THREAD_PRIO_PROTECT 200809L - -#ifdef __USE_XOPEN2K8 -/* We support priority inheritence for robust mutexes. */ -# define _POSIX_THREAD_ROBUST_PRIO_INHERIT 200809L - -/* We do not support priority protection for robust mutexes. */ -# define _POSIX_THREAD_ROBUST_PRIO_PROTECT -1 -#endif - -/* We support POSIX.1b semaphores. */ -#define _POSIX_SEMAPHORES 200809L - -/* Real-time signals are supported. */ -#define _POSIX_REALTIME_SIGNALS 200809L - -/* We support asynchronous I/O. */ -#define _POSIX_ASYNCHRONOUS_IO 200809L -#define _POSIX_ASYNC_IO 1 -/* Alternative name for Unix98. */ -#define _LFS_ASYNCHRONOUS_IO 1 -/* Support for prioritization is also available. */ -#define _POSIX_PRIORITIZED_IO 200809L - -/* The LFS support in asynchronous I/O is also available. */ -#define _LFS64_ASYNCHRONOUS_IO 1 - -/* The rest of the LFS is also available. */ -#define _LFS_LARGEFILE 1 -#define _LFS64_LARGEFILE 1 -#define _LFS64_STDIO 1 - -/* POSIX shared memory objects are implemented. */ -#define _POSIX_SHARED_MEMORY_OBJECTS 200809L - -/* CPU-time clocks support needs to be checked at runtime. */ -#define _POSIX_CPUTIME 0 - -/* Clock support in threads must be also checked at runtime. */ -#define _POSIX_THREAD_CPUTIME 0 - -/* GNU libc provides regular expression handling. */ -#define _POSIX_REGEXP 1 - -/* Reader/Writer locks are available. */ -#define _POSIX_READER_WRITER_LOCKS 200809L - -/* We have a POSIX shell. */ -#define _POSIX_SHELL 1 - -/* We support the Timeouts option. */ -#define _POSIX_TIMEOUTS 200809L - -/* We support spinlocks. */ -#define _POSIX_SPIN_LOCKS 200809L - -/* The `spawn' function family is supported. */ -#define _POSIX_SPAWN 200809L - -/* We have POSIX timers. */ -#define _POSIX_TIMERS 200809L - -/* The barrier functions are available. */ -#define _POSIX_BARRIERS 200809L - -/* POSIX message queues are available. */ -#define _POSIX_MESSAGE_PASSING 200809L - -/* Thread process-shared synchronization is supported. */ -#define _POSIX_THREAD_PROCESS_SHARED 200809L - -/* The monotonic clock might be available. */ -#define _POSIX_MONOTONIC_CLOCK 0 - -/* The clock selection interfaces are available. */ -#define _POSIX_CLOCK_SELECTION 200809L - -/* Advisory information interfaces are available. */ -#define _POSIX_ADVISORY_INFO 200809L - -/* IPv6 support is available. */ -#define _POSIX_IPV6 200809L - -/* Raw socket support is available. */ -#define _POSIX_RAW_SOCKETS 200809L - -/* We have at least one terminal. */ -#define _POSIX2_CHAR_TERM 200809L - -/* Neither process nor thread sporadic server interfaces is available. */ -#define _POSIX_SPORADIC_SERVER -1 -#define _POSIX_THREAD_SPORADIC_SERVER -1 - -/* trace.h is not available. */ -#define _POSIX_TRACE -1 -#define _POSIX_TRACE_EVENT_FILTER -1 -#define _POSIX_TRACE_INHERIT -1 -#define _POSIX_TRACE_LOG -1 - -/* Typed memory objects are not available. */ -#define _POSIX_TYPED_MEMORY_OBJECTS -1 - -#endif /* bits/posix_opt.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix_opt.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix_opt.h.blob deleted file mode 100644 index 24b9a5d..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix_opt.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min-dynamic.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min-dynamic.h deleted file mode 100644 index 5f5fc5f..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min-dynamic.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Definition of PTHREAD_STACK_MIN, possibly dynamic. - Copyright (C) 2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef PTHREAD_STACK_MIN -# if defined __USE_DYNAMIC_STACK_SIZE && __USE_DYNAMIC_STACK_SIZE -# ifndef __ASSEMBLER__ -# define __SC_THREAD_STACK_MIN_VALUE 75 -__BEGIN_DECLS -extern long int __sysconf (int __name) __THROW; -__END_DECLS -# define PTHREAD_STACK_MIN __sysconf (__SC_THREAD_STACK_MIN_VALUE) -# endif -# else -# include -# endif -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min-dynamic.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min-dynamic.h.blob deleted file mode 100644 index 0fc71f9..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min-dynamic.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min.h deleted file mode 100644 index 7bd6fa1..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Definition of PTHREAD_STACK_MIN. Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* Minimum size for a thread. We are free to choose a reasonable value. */ -#define PTHREAD_STACK_MIN 16384 diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min.h.blob deleted file mode 100644 index fb09dba..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes-arch.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes-arch.h deleted file mode 100644 index 4ebc4f9..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes-arch.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_PTHREADTYPES_ARCH_H -#define _BITS_PTHREADTYPES_ARCH_H 1 - -#include - -#ifdef __x86_64__ -# if __WORDSIZE == 64 -# define __SIZEOF_PTHREAD_MUTEX_T 40 -# define __SIZEOF_PTHREAD_ATTR_T 56 -# define __SIZEOF_PTHREAD_RWLOCK_T 56 -# define __SIZEOF_PTHREAD_BARRIER_T 32 -# else -# define __SIZEOF_PTHREAD_MUTEX_T 32 -# define __SIZEOF_PTHREAD_ATTR_T 32 -# define __SIZEOF_PTHREAD_RWLOCK_T 44 -# define __SIZEOF_PTHREAD_BARRIER_T 20 -# endif -#else -# define __SIZEOF_PTHREAD_MUTEX_T 24 -# define __SIZEOF_PTHREAD_ATTR_T 36 -# define __SIZEOF_PTHREAD_RWLOCK_T 32 -# define __SIZEOF_PTHREAD_BARRIER_T 20 -#endif -#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 -#define __SIZEOF_PTHREAD_COND_T 48 -#define __SIZEOF_PTHREAD_CONDATTR_T 4 -#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 -#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 - -#define __LOCK_ALIGNMENT -#define __ONCE_ALIGNMENT - -#ifndef __x86_64__ -/* Extra attributes for the cleanup functions. */ -# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1))) -#endif - -#endif /* bits/pthreadtypes.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes-arch.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes-arch.h.blob deleted file mode 100644 index 8fb41b7..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes-arch.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes.h deleted file mode 100644 index 4d4a255..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes.h +++ /dev/null @@ -1,121 +0,0 @@ -/* Declaration of common pthread types for all architectures. - Copyright (C) 2017-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_PTHREADTYPES_COMMON_H -# define _BITS_PTHREADTYPES_COMMON_H 1 - -/* For internal mutex and condition variable definitions. */ -#include - -/* Thread identifiers. The structure of the attribute type is not - exposed on purpose. */ -typedef unsigned long int pthread_t; - - -/* Data structures for mutex handling. The structure of the attribute - type is not exposed on purpose. */ -typedef union -{ - char __size[__SIZEOF_PTHREAD_MUTEXATTR_T]; - int __align; -} pthread_mutexattr_t; - - -/* Data structure for condition variable handling. The structure of - the attribute type is not exposed on purpose. */ -typedef union -{ - char __size[__SIZEOF_PTHREAD_CONDATTR_T]; - int __align; -} pthread_condattr_t; - - -/* Keys for thread-specific data */ -typedef unsigned int pthread_key_t; - - -/* Once-only execution */ -typedef int __ONCE_ALIGNMENT pthread_once_t; - - -union pthread_attr_t -{ - char __size[__SIZEOF_PTHREAD_ATTR_T]; - long int __align; -}; -#ifndef __have_pthread_attr_t -typedef union pthread_attr_t pthread_attr_t; -# define __have_pthread_attr_t 1 -#endif - - -typedef union -{ - struct __pthread_mutex_s __data; - char __size[__SIZEOF_PTHREAD_MUTEX_T]; - long int __align; -} pthread_mutex_t; - - -typedef union -{ - struct __pthread_cond_s __data; - char __size[__SIZEOF_PTHREAD_COND_T]; - __extension__ long long int __align; -} pthread_cond_t; - - -#if defined __USE_UNIX98 || defined __USE_XOPEN2K -/* Data structure for reader-writer lock variable handling. The - structure of the attribute type is deliberately not exposed. */ -typedef union -{ - struct __pthread_rwlock_arch_t __data; - char __size[__SIZEOF_PTHREAD_RWLOCK_T]; - long int __align; -} pthread_rwlock_t; - -typedef union -{ - char __size[__SIZEOF_PTHREAD_RWLOCKATTR_T]; - long int __align; -} pthread_rwlockattr_t; -#endif - - -#ifdef __USE_XOPEN2K -/* POSIX spinlock data type. */ -typedef volatile int pthread_spinlock_t; - - -/* POSIX barriers data type. The structure of the type is - deliberately not exposed. */ -typedef union -{ - char __size[__SIZEOF_PTHREAD_BARRIER_T]; - long int __align; -} pthread_barrier_t; - -typedef union -{ - char __size[__SIZEOF_PTHREAD_BARRIERATTR_T]; - int __align; -} pthread_barrierattr_t; -#endif - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes.h.blob deleted file mode 100644 index 83652a7..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@select.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@select.h deleted file mode 100644 index 8204bbd..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@select.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SELECT_H -# error "Never use directly; include instead." -#endif - - -/* We don't use `memset' because this would require a prototype and - the array isn't too big. */ -#define __FD_ZERO(s) \ - do { \ - unsigned int __i; \ - fd_set *__arr = (s); \ - for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \ - __FDS_BITS (__arr)[__i] = 0; \ - } while (0) -#define __FD_SET(d, s) \ - ((void) (__FDS_BITS (s)[__FD_ELT(d)] |= __FD_MASK(d))) -#define __FD_CLR(d, s) \ - ((void) (__FDS_BITS (s)[__FD_ELT(d)] &= ~__FD_MASK(d))) -#define __FD_ISSET(d, s) \ - ((__FDS_BITS (s)[__FD_ELT (d)] & __FD_MASK (d)) != 0) diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@select.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@select.h.blob deleted file mode 100644 index 6a2007d..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@select.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigaction.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigaction.h deleted file mode 100644 index 19c1d87..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigaction.h +++ /dev/null @@ -1,83 +0,0 @@ -/* The proper definitions for Linux's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGACTION_H -#define _BITS_SIGACTION_H 1 - -#ifndef _SIGNAL_H -# error "Never include directly; use instead." -#endif - -/* Structure describing the action to be taken when a signal arrives. */ -struct sigaction - { - /* Signal handler. */ -#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED - union - { - /* Used if SA_SIGINFO is not set. */ - __sighandler_t sa_handler; - /* Used if SA_SIGINFO is set. */ - void (*sa_sigaction) (int, siginfo_t *, void *); - } - __sigaction_handler; -# define sa_handler __sigaction_handler.sa_handler -# define sa_sigaction __sigaction_handler.sa_sigaction -#else - __sighandler_t sa_handler; -#endif - - /* Additional set of signals to be blocked. */ - __sigset_t sa_mask; - - /* Special flags. */ - int sa_flags; - - /* Restore handler. */ - void (*sa_restorer) (void); - }; - -/* Bits in `sa_flags'. */ -#define SA_NOCLDSTOP 1 /* Don't send SIGCHLD when children stop. */ -#define SA_NOCLDWAIT 2 /* Don't create zombie on child death. */ -#define SA_SIGINFO 4 /* Invoke signal-catching function with - three arguments instead of one. */ -#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC -# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */ -#endif -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */ -# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when - its handler is being executed. */ -# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */ -#endif -#ifdef __USE_MISC -# define SA_INTERRUPT 0x20000000 /* Historical no-op. */ - -/* Some aliases for the SA_ constants. */ -# define SA_NOMASK SA_NODEFER -# define SA_ONESHOT SA_RESETHAND -# define SA_STACK SA_ONSTACK -#endif - -/* Values for the HOW argument to `sigprocmask'. */ -#define SIG_BLOCK 0 /* Block signals. */ -#define SIG_UNBLOCK 1 /* Unblock signals. */ -#define SIG_SETMASK 2 /* Set the set of blocked signals. */ - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigaction.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigaction.h.blob deleted file mode 100644 index 752fcc1..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigaction.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigcontext.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigcontext.h deleted file mode 100644 index 1fb6ca2..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigcontext.h +++ /dev/null @@ -1,196 +0,0 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGCONTEXT_H -#define _BITS_SIGCONTEXT_H 1 - -#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H -# error "Never use directly; include instead." -#endif - -#include - -#define FP_XSTATE_MAGIC1 0x46505853U -#define FP_XSTATE_MAGIC2 0x46505845U -#define FP_XSTATE_MAGIC2_SIZE sizeof (FP_XSTATE_MAGIC2) - -struct _fpx_sw_bytes -{ - __uint32_t magic1; - __uint32_t extended_size; - __uint64_t xstate_bv; - __uint32_t xstate_size; - __uint32_t __glibc_reserved1[7]; -}; - -struct _fpreg -{ - unsigned short significand[4]; - unsigned short exponent; -}; - -struct _fpxreg -{ - unsigned short significand[4]; - unsigned short exponent; - unsigned short __glibc_reserved1[3]; -}; - -struct _xmmreg -{ - __uint32_t element[4]; -}; - - - -#ifndef __x86_64__ - -struct _fpstate -{ - /* Regular FPU environment. */ - __uint32_t cw; - __uint32_t sw; - __uint32_t tag; - __uint32_t ipoff; - __uint32_t cssel; - __uint32_t dataoff; - __uint32_t datasel; - struct _fpreg _st[8]; - unsigned short status; - unsigned short magic; - - /* FXSR FPU environment. */ - __uint32_t _fxsr_env[6]; - __uint32_t mxcsr; - __uint32_t __glibc_reserved1; - struct _fpxreg _fxsr_st[8]; - struct _xmmreg _xmm[8]; - __uint32_t __glibc_reserved2[56]; -}; - -#ifndef sigcontext_struct -/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but - we need sigcontext. Some packages have come to rely on - sigcontext_struct being defined on 32-bit x86, so define this for - their benefit. */ -# define sigcontext_struct sigcontext -#endif - -#define X86_FXSR_MAGIC 0x0000 - -struct sigcontext -{ - unsigned short gs, __gsh; - unsigned short fs, __fsh; - unsigned short es, __esh; - unsigned short ds, __dsh; - unsigned long edi; - unsigned long esi; - unsigned long ebp; - unsigned long esp; - unsigned long ebx; - unsigned long edx; - unsigned long ecx; - unsigned long eax; - unsigned long trapno; - unsigned long err; - unsigned long eip; - unsigned short cs, __csh; - unsigned long eflags; - unsigned long esp_at_signal; - unsigned short ss, __ssh; - struct _fpstate * fpstate; - unsigned long oldmask; - unsigned long cr2; -}; - -#else /* __x86_64__ */ - -struct _fpstate -{ - /* FPU environment matching the 64-bit FXSAVE layout. */ - __uint16_t cwd; - __uint16_t swd; - __uint16_t ftw; - __uint16_t fop; - __uint64_t rip; - __uint64_t rdp; - __uint32_t mxcsr; - __uint32_t mxcr_mask; - struct _fpxreg _st[8]; - struct _xmmreg _xmm[16]; - __uint32_t __glibc_reserved1[24]; -}; - -struct sigcontext -{ - __uint64_t r8; - __uint64_t r9; - __uint64_t r10; - __uint64_t r11; - __uint64_t r12; - __uint64_t r13; - __uint64_t r14; - __uint64_t r15; - __uint64_t rdi; - __uint64_t rsi; - __uint64_t rbp; - __uint64_t rbx; - __uint64_t rdx; - __uint64_t rax; - __uint64_t rcx; - __uint64_t rsp; - __uint64_t rip; - __uint64_t eflags; - unsigned short cs; - unsigned short gs; - unsigned short fs; - unsigned short __pad0; - __uint64_t err; - __uint64_t trapno; - __uint64_t oldmask; - __uint64_t cr2; - __extension__ union - { - struct _fpstate * fpstate; - __uint64_t __fpstate_word; - }; - __uint64_t __reserved1 [8]; -}; - -#endif /* __x86_64__ */ - -struct _xsave_hdr -{ - __uint64_t xstate_bv; - __uint64_t __glibc_reserved1[2]; - __uint64_t __glibc_reserved2[5]; -}; - -struct _ymmh_state -{ - __uint32_t ymmh_space[64]; -}; - -struct _xstate -{ - struct _fpstate fpstate; - struct _xsave_hdr xstate_hdr; - struct _ymmh_state ymmh; -}; - -#endif /* _BITS_SIGCONTEXT_H */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigcontext.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigcontext.h.blob deleted file mode 100644 index 5629102..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigcontext.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigevent-consts.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigevent-consts.h deleted file mode 100644 index 28589fc..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigevent-consts.h +++ /dev/null @@ -1,41 +0,0 @@ -/* sigevent constants. Linux version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGEVENT_CONSTS_H -#define _BITS_SIGEVENT_CONSTS_H 1 - -#if !defined _SIGNAL_H && !defined _AIO_H -#error "Don't include directly; use instead." -#endif - -/* `sigev_notify' values. */ -enum -{ - SIGEV_SIGNAL = 0, /* Notify via signal. */ -# define SIGEV_SIGNAL SIGEV_SIGNAL - SIGEV_NONE, /* Other notification: meaningless. */ -# define SIGEV_NONE SIGEV_NONE - SIGEV_THREAD, /* Deliver via thread creation. */ -# define SIGEV_THREAD SIGEV_THREAD - - SIGEV_THREAD_ID = 4 /* Send signal to specific thread. - This is a Linux extension. */ -#define SIGEV_THREAD_ID SIGEV_THREAD_ID -}; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigevent-consts.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigevent-consts.h.blob deleted file mode 100644 index b19ebfe..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigevent-consts.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-arch.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-arch.h deleted file mode 100644 index 7688a8d..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-arch.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Architecture-specific adjustments to siginfo_t. x86 version. */ -#ifndef _BITS_SIGINFO_ARCH_H -#define _BITS_SIGINFO_ARCH_H 1 - -#if defined __x86_64__ && __WORDSIZE == 32 -/* si_utime and si_stime must be 4 byte aligned for x32 to match the - kernel. We align siginfo_t to 8 bytes so that si_utime and - si_stime are actually aligned to 8 bytes since their offsets are - multiple of 8 bytes. Note: with some compilers, the alignment - attribute would be ignored if it were put in __SI_CLOCK_T instead - of encapsulated in a typedef. */ -typedef __clock_t __attribute__ ((__aligned__ (4))) __sigchld_clock_t; -# define __SI_ALIGNMENT __attribute__ ((__aligned__ (8))) -# define __SI_CLOCK_T __sigchld_clock_t -#endif - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-arch.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-arch.h.blob deleted file mode 100644 index 81394a5..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-arch.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-consts.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-consts.h deleted file mode 100644 index 4803327..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-consts.h +++ /dev/null @@ -1,216 +0,0 @@ -/* siginfo constants. Linux version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGINFO_CONSTS_H -#define _BITS_SIGINFO_CONSTS_H 1 - -#ifndef _SIGNAL_H -#error "Don't include directly; use instead." -#endif - -/* Most of these constants are uniform across all architectures, but there - is one exception. */ -#include -#ifndef __SI_ASYNCIO_AFTER_SIGIO -# define __SI_ASYNCIO_AFTER_SIGIO 1 -#endif - -/* Values for `si_code'. Positive values are reserved for kernel-generated - signals. */ -enum -{ - SI_ASYNCNL = -60, /* Sent by asynch name lookup completion. */ - SI_DETHREAD = -7, /* Sent by execve killing subsidiary - threads. */ - SI_TKILL, /* Sent by tkill. */ - SI_SIGIO, /* Sent by queued SIGIO. */ -#if __SI_ASYNCIO_AFTER_SIGIO - SI_ASYNCIO, /* Sent by AIO completion. */ - SI_MESGQ, /* Sent by real time mesq state change. */ - SI_TIMER, /* Sent by timer expiration. */ -#else - SI_MESGQ, - SI_TIMER, - SI_ASYNCIO, -#endif - SI_QUEUE, /* Sent by sigqueue. */ - SI_USER, /* Sent by kill, sigsend. */ - SI_KERNEL = 0x80 /* Send by kernel. */ - -#define SI_ASYNCNL SI_ASYNCNL -#define SI_DETHREAD SI_DETHREAD -#define SI_TKILL SI_TKILL -#define SI_SIGIO SI_SIGIO -#define SI_ASYNCIO SI_ASYNCIO -#define SI_MESGQ SI_MESGQ -#define SI_TIMER SI_TIMER -#define SI_ASYNCIO SI_ASYNCIO -#define SI_QUEUE SI_QUEUE -#define SI_USER SI_USER -#define SI_KERNEL SI_KERNEL -}; - - -# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -/* `si_code' values for SIGILL signal. */ -enum -{ - ILL_ILLOPC = 1, /* Illegal opcode. */ -# define ILL_ILLOPC ILL_ILLOPC - ILL_ILLOPN, /* Illegal operand. */ -# define ILL_ILLOPN ILL_ILLOPN - ILL_ILLADR, /* Illegal addressing mode. */ -# define ILL_ILLADR ILL_ILLADR - ILL_ILLTRP, /* Illegal trap. */ -# define ILL_ILLTRP ILL_ILLTRP - ILL_PRVOPC, /* Privileged opcode. */ -# define ILL_PRVOPC ILL_PRVOPC - ILL_PRVREG, /* Privileged register. */ -# define ILL_PRVREG ILL_PRVREG - ILL_COPROC, /* Coprocessor error. */ -# define ILL_COPROC ILL_COPROC - ILL_BADSTK, /* Internal stack error. */ -# define ILL_BADSTK ILL_BADSTK - ILL_BADIADDR /* Unimplemented instruction address. */ -# define ILL_BADIADDR ILL_BADIADDR -}; - -/* `si_code' values for SIGFPE signal. */ -enum -{ - FPE_INTDIV = 1, /* Integer divide by zero. */ -# define FPE_INTDIV FPE_INTDIV - FPE_INTOVF, /* Integer overflow. */ -# define FPE_INTOVF FPE_INTOVF - FPE_FLTDIV, /* Floating point divide by zero. */ -# define FPE_FLTDIV FPE_FLTDIV - FPE_FLTOVF, /* Floating point overflow. */ -# define FPE_FLTOVF FPE_FLTOVF - FPE_FLTUND, /* Floating point underflow. */ -# define FPE_FLTUND FPE_FLTUND - FPE_FLTRES, /* Floating point inexact result. */ -# define FPE_FLTRES FPE_FLTRES - FPE_FLTINV, /* Floating point invalid operation. */ -# define FPE_FLTINV FPE_FLTINV - FPE_FLTSUB, /* Subscript out of range. */ -# define FPE_FLTSUB FPE_FLTSUB - FPE_FLTUNK = 14, /* Undiagnosed floating-point exception. */ -# define FPE_FLTUNK FPE_FLTUNK - FPE_CONDTRAP /* Trap on condition. */ -# define FPE_CONDTRAP FPE_CONDTRAP -}; - -/* `si_code' values for SIGSEGV signal. */ -enum -{ - SEGV_MAPERR = 1, /* Address not mapped to object. */ -# define SEGV_MAPERR SEGV_MAPERR - SEGV_ACCERR, /* Invalid permissions for mapped object. */ -# define SEGV_ACCERR SEGV_ACCERR - SEGV_BNDERR, /* Bounds checking failure. */ -# define SEGV_BNDERR SEGV_BNDERR - SEGV_PKUERR, /* Protection key checking failure. */ -# define SEGV_PKUERR SEGV_PKUERR - SEGV_ACCADI, /* ADI not enabled for mapped object. */ -# define SEGV_ACCADI SEGV_ACCADI - SEGV_ADIDERR, /* Disrupting MCD error. */ -# define SEGV_ADIDERR SEGV_ADIDERR - SEGV_ADIPERR, /* Precise MCD exception. */ -# define SEGV_ADIPERR SEGV_ADIPERR - SEGV_MTEAERR, /* Asynchronous ARM MTE error. */ -# define SEGV_MTEAERR SEGV_MTEAERR - SEGV_MTESERR /* Synchronous ARM MTE exception. */ -# define SEGV_MTESERR SEGV_MTESERR -}; - -/* `si_code' values for SIGBUS signal. */ -enum -{ - BUS_ADRALN = 1, /* Invalid address alignment. */ -# define BUS_ADRALN BUS_ADRALN - BUS_ADRERR, /* Non-existant physical address. */ -# define BUS_ADRERR BUS_ADRERR - BUS_OBJERR, /* Object specific hardware error. */ -# define BUS_OBJERR BUS_OBJERR - BUS_MCEERR_AR, /* Hardware memory error: action required. */ -# define BUS_MCEERR_AR BUS_MCEERR_AR - BUS_MCEERR_AO /* Hardware memory error: action optional. */ -# define BUS_MCEERR_AO BUS_MCEERR_AO -}; -# endif - -# ifdef __USE_XOPEN_EXTENDED -/* `si_code' values for SIGTRAP signal. */ -enum -{ - TRAP_BRKPT = 1, /* Process breakpoint. */ -# define TRAP_BRKPT TRAP_BRKPT - TRAP_TRACE, /* Process trace trap. */ -# define TRAP_TRACE TRAP_TRACE - TRAP_BRANCH, /* Process taken branch trap. */ -# define TRAP_BRANCH TRAP_BRANCH - TRAP_HWBKPT, /* Hardware breakpoint/watchpoint. */ -# define TRAP_HWBKPT TRAP_HWBKPT - TRAP_UNK /* Undiagnosed trap. */ -# define TRAP_UNK TRAP_UNK -}; -# endif - -# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -/* `si_code' values for SIGCHLD signal. */ -enum -{ - CLD_EXITED = 1, /* Child has exited. */ -# define CLD_EXITED CLD_EXITED - CLD_KILLED, /* Child was killed. */ -# define CLD_KILLED CLD_KILLED - CLD_DUMPED, /* Child terminated abnormally. */ -# define CLD_DUMPED CLD_DUMPED - CLD_TRAPPED, /* Traced child has trapped. */ -# define CLD_TRAPPED CLD_TRAPPED - CLD_STOPPED, /* Child has stopped. */ -# define CLD_STOPPED CLD_STOPPED - CLD_CONTINUED /* Stopped child has continued. */ -# define CLD_CONTINUED CLD_CONTINUED -}; - -/* `si_code' values for SIGPOLL signal. */ -enum -{ - POLL_IN = 1, /* Data input available. */ -# define POLL_IN POLL_IN - POLL_OUT, /* Output buffers available. */ -# define POLL_OUT POLL_OUT - POLL_MSG, /* Input message available. */ -# define POLL_MSG POLL_MSG - POLL_ERR, /* I/O error. */ -# define POLL_ERR POLL_ERR - POLL_PRI, /* High priority input available. */ -# define POLL_PRI POLL_PRI - POLL_HUP /* Device disconnected. */ -# define POLL_HUP POLL_HUP -}; -# endif - -/* Architectures might also add architecture-specific constants. - These are all considered GNU extensions. */ -#ifdef __USE_GNU -# include -#endif - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-consts.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-consts.h.blob deleted file mode 100644 index 0d2a48e..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-consts.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signal_ext.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signal_ext.h deleted file mode 100644 index ca31214..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signal_ext.h +++ /dev/null @@ -1,31 +0,0 @@ -/* System-specific extensions of , Linux version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SIGNAL_H -# error "Never include directly; use instead." -#endif - -#ifdef __USE_GNU - -/* Send SIGNAL to the thread TID in the thread group (process) - identified by TGID. This function behaves like kill, but also - fails with ESRCH if the specified TID does not belong to the - specified thread group. */ -extern int tgkill (__pid_t __tgid, __pid_t __tid, int __signal); - -#endif /* __USE_GNU */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signal_ext.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signal_ext.h.blob deleted file mode 100644 index 6693c87..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signal_ext.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-arch.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-arch.h deleted file mode 100644 index 302294c..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-arch.h +++ /dev/null @@ -1,64 +0,0 @@ -/* Signal number definitions. Linux version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGNUM_ARCH_H -#define _BITS_SIGNUM_ARCH_H 1 - -#ifndef _SIGNAL_H -#error "Never include directly; use instead." -#endif - -/* Adjustments and additions to the signal number constants for - most Linux systems. */ - -#define SIGSTKFLT 16 /* Stack fault (obsolete). */ -#define SIGPWR 30 /* Power failure imminent. */ - -/* Historical signals specified by POSIX. */ -#define SIGBUS 7 /* Bus error. */ -#define SIGSYS 31 /* Bad system call. */ - -/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ -#define SIGURG 23 /* Urgent data is available at a socket. */ -#define SIGSTOP 19 /* Stop, unblockable. */ -#define SIGTSTP 20 /* Keyboard stop. */ -#define SIGCONT 18 /* Continue. */ -#define SIGCHLD 17 /* Child terminated or stopped. */ -#define SIGTTIN 21 /* Background read from control terminal. */ -#define SIGTTOU 22 /* Background write to control terminal. */ -#define SIGPOLL 29 /* Pollable event occurred (System V). */ -#define SIGXFSZ 25 /* File size limit exceeded. */ -#define SIGXCPU 24 /* CPU time limit exceeded. */ -#define SIGVTALRM 26 /* Virtual timer expired. */ -#define SIGPROF 27 /* Profiling timer expired. */ -#define SIGUSR1 10 /* User-defined signal 1. */ -#define SIGUSR2 12 /* User-defined signal 2. */ - -/* Nonstandard signals found in all modern POSIX systems - (including both BSD and Linux). */ -#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */ - -/* Archaic names for compatibility. */ -#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ -#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ -#define SIGCLD SIGCHLD /* Old System V name */ - -#define __SIGRTMIN 32 -#define __SIGRTMAX 64 - -#endif /* included. */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-arch.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-arch.h.blob deleted file mode 100644 index 79eb889..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-arch.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-generic.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-generic.h deleted file mode 100644 index 4e481c1..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-generic.h +++ /dev/null @@ -1,81 +0,0 @@ -/* Signal number constants. Generic template. - Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGNUM_GENERIC_H -#define _BITS_SIGNUM_GENERIC_H 1 - -#ifndef _SIGNAL_H -#error "Never include directly; use instead." -#endif - -/* Fake signal functions. */ - -#define SIG_ERR ((__sighandler_t) -1) /* Error return. */ -#define SIG_DFL ((__sighandler_t) 0) /* Default action. */ -#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */ - -#ifdef __USE_XOPEN -# define SIG_HOLD ((__sighandler_t) 2) /* Add signal to hold mask. */ -#endif - -/* We define here all the signal names listed in POSIX (1003.1-2008); - as of 1003.1-2013, no additional signals have been added by POSIX. - We also define here signal names that historically exist in every - real-world POSIX variant (e.g. SIGWINCH). - - Signals in the 1-15 range are defined with their historical numbers. - For other signals, we use the BSD numbers. - There are two unallocated signal numbers in the 1-31 range: 7 and 29. - Signal number 0 is reserved for use as kill(pid, 0), to test whether - a process exists without sending it a signal. */ - -/* ISO C99 signals. */ -#define SIGINT 2 /* Interactive attention signal. */ -#define SIGILL 4 /* Illegal instruction. */ -#define SIGABRT 6 /* Abnormal termination. */ -#define SIGFPE 8 /* Erroneous arithmetic operation. */ -#define SIGSEGV 11 /* Invalid access to storage. */ -#define SIGTERM 15 /* Termination request. */ - -/* Historical signals specified by POSIX. */ -#define SIGHUP 1 /* Hangup. */ -#define SIGQUIT 3 /* Quit. */ -#define SIGTRAP 5 /* Trace/breakpoint trap. */ -#define SIGKILL 9 /* Killed. */ -#define SIGPIPE 13 /* Broken pipe. */ -#define SIGALRM 14 /* Alarm clock. */ - -/* Archaic names for compatibility. */ -#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ -#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ -#define SIGCLD SIGCHLD /* Old System V name */ - -/* Not all systems support real-time signals. bits/signum.h indicates - that they are supported by overriding __SIGRTMAX to a value greater - than __SIGRTMIN. These constants give the kernel-level hard limits, - but some real-time signals may be used internally by glibc. Do not - use these constants in application code; use SIGRTMIN and SIGRTMAX - (defined in signal.h) instead. */ - -/* Include system specific bits. */ -#include - -/* Biggest signal number + 1 (including real-time signals). */ -#define _NSIG (__SIGRTMAX + 1) - -#endif /* bits/signum-generic.h. */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-generic.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-generic.h.blob deleted file mode 100644 index aae10cb..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-generic.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstack.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstack.h deleted file mode 100644 index 5330f5b..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstack.h +++ /dev/null @@ -1,32 +0,0 @@ -/* sigstack, sigaltstack definitions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGSTACK_H -#define _BITS_SIGSTACK_H 1 - -#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H -# error "Never include this file directly. Use instead" -#endif - -/* Minimum stack size for a signal handler. */ -#define MINSIGSTKSZ 2048 - -/* System default stack size. */ -#define SIGSTKSZ 8192 - -#endif /* bits/sigstack.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstack.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstack.h.blob deleted file mode 100644 index 17287b6..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstack.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstksz.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstksz.h deleted file mode 100644 index cd45d12..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstksz.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Definition of MINSIGSTKSZ and SIGSTKSZ. Linux version. - Copyright (C) 2020 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SIGNAL_H -# error "Never include directly; use instead." -#endif - -#if defined __USE_DYNAMIC_STACK_SIZE && __USE_DYNAMIC_STACK_SIZE -# include - -/* Default stack size for a signal handler: sysconf (SC_SIGSTKSZ). */ -# undef SIGSTKSZ -# define SIGSTKSZ sysconf (_SC_SIGSTKSZ) - -/* Minimum stack size for a signal handler: SIGSTKSZ. */ -# undef MINSIGSTKSZ -# define MINSIGSTKSZ SIGSTKSZ -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstksz.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstksz.h.blob deleted file mode 100644 index fdd9527..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstksz.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigthread.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigthread.h deleted file mode 100644 index 8779a4b..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigthread.h +++ /dev/null @@ -1,44 +0,0 @@ -/* Signal handling function for threaded programs. - Copyright (C) 1998-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation; either version 2.1 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; see the file COPYING.LIB. If - not, see . */ - -#ifndef _BITS_SIGTHREAD_H -#define _BITS_SIGTHREAD_H 1 - -#if !defined _SIGNAL_H && !defined _PTHREAD_H -# error "Never include this file directly. Use instead" -#endif - -/* Functions for handling signals. */ -#include - -/* Modify the signal mask for the calling thread. The arguments have - the same meaning as for sigprocmask(2). */ -extern int pthread_sigmask (int __how, - const __sigset_t *__restrict __newmask, - __sigset_t *__restrict __oldmask)__THROW; - -/* Send signal SIGNO to the given thread. */ -extern int pthread_kill (pthread_t __threadid, int __signo) __THROW; - -#ifdef __USE_GNU -/* Queue signal and data to a thread. */ -extern int pthread_sigqueue (pthread_t __threadid, int __signo, - const union sigval __value) __THROW; -#endif - -#endif /* bits/sigthread.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigthread.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigthread.h.blob deleted file mode 100644 index cd3a0f7..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigthread.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ss_flags.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ss_flags.h deleted file mode 100644 index 8dc676d..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ss_flags.h +++ /dev/null @@ -1,35 +0,0 @@ -/* ss_flags values for stack_t. Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SS_FLAGS_H -#define _BITS_SS_FLAGS_H 1 - -#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H -# error "Never include this file directly. Use instead" -#endif - -/* Possible values for `ss_flags'. */ -enum -{ - SS_ONSTACK = 1, -#define SS_ONSTACK SS_ONSTACK - SS_DISABLE -#define SS_DISABLE SS_DISABLE -}; - -#endif /* bits/ss_flags.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ss_flags.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ss_flags.h.blob deleted file mode 100644 index 0c92ba6..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ss_flags.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stat.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stat.h deleted file mode 100644 index 31868c8..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stat.h +++ /dev/null @@ -1,60 +0,0 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#if !defined _SYS_STAT_H && !defined _FCNTL_H -# error "Never include directly; use instead." -#endif - -#ifndef _BITS_STAT_H -#define _BITS_STAT_H 1 - -#include - -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFIFO 0010000 /* FIFO. */ -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ - -/* POSIX.1b objects. Note that these macros always evaluate to zero. But - they do it by enforcing the correct use of the macros. */ -#define __S_TYPEISMQ(buf) ((buf)->st_mode - (buf)->st_mode) -#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode) -#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 0400 /* Read by owner. */ -#define __S_IWRITE 0200 /* Write by owner. */ -#define __S_IEXEC 0100 /* Execute by owner. */ - -#ifdef __USE_ATFILE -# define UTIME_NOW ((1l << 30) - 1l) -# define UTIME_OMIT ((1l << 30) - 2l) -#endif - -#endif /* bits/stat.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stat.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stat.h.blob deleted file mode 100644 index 4fd3a61..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stat.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-intn.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-intn.h deleted file mode 100644 index 8a1cf5d..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-intn.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Define intN_t types. - Copyright (C) 2017-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_STDINT_INTN_H -#define _BITS_STDINT_INTN_H 1 - -#include - -typedef __int8_t int8_t; -typedef __int16_t int16_t; -typedef __int32_t int32_t; -typedef __int64_t int64_t; - -#endif /* bits/stdint-intn.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-intn.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-intn.h.blob deleted file mode 100644 index d3c04e2..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-intn.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-uintn.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-uintn.h deleted file mode 100644 index a4fca46..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-uintn.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Define uintN_t types. - Copyright (C) 2017-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_STDINT_UINTN_H -#define _BITS_STDINT_UINTN_H 1 - -#include - -typedef __uint8_t uint8_t; -typedef __uint16_t uint16_t; -typedef __uint32_t uint32_t; -typedef __uint64_t uint64_t; - -#endif /* bits/stdint-uintn.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-uintn.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-uintn.h.blob deleted file mode 100644 index 42e46d2..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-uintn.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdio_lim.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdio_lim.h deleted file mode 100644 index ff1a2c3..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdio_lim.h +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (C) 1994-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_STDIO_LIM_H -#define _BITS_STDIO_LIM_H 1 - -#ifndef _STDIO_H -# error "Never include directly; use instead." -#endif - -#define L_tmpnam 20 -#define TMP_MAX 238328 -#define FILENAME_MAX 4096 - -#ifdef __USE_POSIX -# define L_ctermid 9 -# if !defined __USE_XOPEN2K || defined __USE_GNU -# define L_cuserid 9 -# endif -#endif - -#undef FOPEN_MAX -#define FOPEN_MAX 16 - -#endif /* bits/stdio_lim.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdio_lim.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdio_lim.h.blob deleted file mode 100644 index cce155f..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdio_lim.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdlib-float.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdlib-float.h deleted file mode 100644 index 3373c5b..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdlib-float.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Floating-point inline functions for stdlib.h. - Copyright (C) 2012-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _STDLIB_H -# error "Never use directly; include instead." -#endif - -#ifdef __USE_EXTERN_INLINES -__extern_inline double -__NTH (atof (const char *__nptr)) -{ - return strtod (__nptr, (char **) NULL); -} -#endif /* Optimizing and Inlining. */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdlib-float.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdlib-float.h.blob deleted file mode 100644 index c9369d7..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdlib-float.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_mutex.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_mutex.h deleted file mode 100644 index f837e7a..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_mutex.h +++ /dev/null @@ -1,63 +0,0 @@ -/* x86 internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _THREAD_MUTEX_INTERNAL_H -#define _THREAD_MUTEX_INTERNAL_H 1 - -struct __pthread_mutex_s -{ - int __lock; - unsigned int __count; - int __owner; -#ifdef __x86_64__ - unsigned int __nusers; -#endif - /* KIND must stay at this position in the structure to maintain - binary compatibility with static initializers. */ - int __kind; -#ifdef __x86_64__ - short __spins; - short __elision; - __pthread_list_t __list; -# define __PTHREAD_MUTEX_HAVE_PREV 1 -#else - unsigned int __nusers; - __extension__ union - { - struct - { - short __espins; - short __eelision; -# define __spins __elision_data.__espins -# define __elision __elision_data.__eelision - } __elision_data; - __pthread_slist_t __list; - }; -# define __PTHREAD_MUTEX_HAVE_PREV 0 -#endif -}; - -#ifdef __x86_64__ -# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ - 0, 0, 0, 0, __kind, 0, 0, { 0, 0 } -#else -# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ - 0, 0, 0, __kind, 0, { { 0, 0 } } -#endif - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_mutex.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_mutex.h.blob deleted file mode 100644 index a6de5a3..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_mutex.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_rwlock.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_rwlock.h deleted file mode 100644 index cd5743e..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_rwlock.h +++ /dev/null @@ -1,65 +0,0 @@ -/* x86 internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _RWLOCK_INTERNAL_H -#define _RWLOCK_INTERNAL_H - -struct __pthread_rwlock_arch_t -{ - unsigned int __readers; - unsigned int __writers; - unsigned int __wrphase_futex; - unsigned int __writers_futex; - unsigned int __pad3; - unsigned int __pad4; -#ifdef __x86_64__ - int __cur_writer; - int __shared; - signed char __rwelision; -# ifdef __ILP32__ - unsigned char __pad1[3]; -# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 } -# else - unsigned char __pad1[7]; -# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 } -# endif - unsigned long int __pad2; - /* FLAGS must stay at this position in the structure to maintain - binary compatibility. */ - unsigned int __flags; -#else /* __x86_64__ */ - /* FLAGS must stay at this position in the structure to maintain - binary compatibility. */ - unsigned char __flags; - unsigned char __shared; - signed char __rwelision; - unsigned char __pad2; - int __cur_writer; -#endif -}; - -#ifdef __x86_64__ -# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ - 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags -#else -# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ - 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 -#endif - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_rwlock.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_rwlock.h.blob deleted file mode 100644 index 3f93bca..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_rwlock.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_stat.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_stat.h deleted file mode 100644 index 01ee7ff..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_stat.h +++ /dev/null @@ -1,165 +0,0 @@ -/* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#if !defined _SYS_STAT_H && !defined _FCNTL_H -# error "Never include directly; use instead." -#endif - -#ifndef _BITS_STRUCT_STAT_H -#define _BITS_STRUCT_STAT_H 1 - -struct stat - { -#ifdef __USE_TIME_BITS64 -# include -#else - __dev_t st_dev; /* Device. */ -# ifndef __x86_64__ - unsigned short int __pad1; -# endif -# if defined __x86_64__ || !defined __USE_FILE_OFFSET64 - __ino_t st_ino; /* File serial number. */ -# else - __ino_t __st_ino; /* 32bit file serial number. */ -# endif -# ifndef __x86_64__ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ -# else - __nlink_t st_nlink; /* Link count. */ - __mode_t st_mode; /* File mode. */ -# endif - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ -# ifdef __x86_64__ - int __pad0; -# endif - __dev_t st_rdev; /* Device number, if device. */ -# ifndef __x86_64__ - unsigned short int __pad2; -# endif -# if defined __x86_64__ || !defined __USE_FILE_OFFSET64 - __off_t st_size; /* Size of file, in bytes. */ -# else - __off64_t st_size; /* Size of file, in bytes. */ -# endif - __blksize_t st_blksize; /* Optimal block size for I/O. */ -# if defined __x86_64__ || !defined __USE_FILE_OFFSET64 - __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ -# else - __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ -# endif -# ifdef __USE_XOPEN2K8 - /* Nanosecond resolution timestamps are stored in a format - equivalent to 'struct timespec'. This is the type used - whenever possible but the Unix namespace rules do not allow the - identifier 'timespec' to appear in the header. - Therefore we have to handle the use of this header in strictly - standard-compliant sources special. */ - struct timespec st_atim; /* Time of last access. */ - struct timespec st_mtim; /* Time of last modification. */ - struct timespec st_ctim; /* Time of last status change. */ -# define st_atime st_atim.tv_sec /* Backward compatibility. */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -# else - __time_t st_atime; /* Time of last access. */ - __syscall_ulong_t st_atimensec; /* Nscecs of last access. */ - __time_t st_mtime; /* Time of last modification. */ - __syscall_ulong_t st_mtimensec; /* Nsecs of last modification. */ - __time_t st_ctime; /* Time of last status change. */ - __syscall_ulong_t st_ctimensec; /* Nsecs of last status change. */ -# endif -# ifdef __x86_64__ - __syscall_slong_t __glibc_reserved[3]; -# else -# ifndef __USE_FILE_OFFSET64 - unsigned long int __glibc_reserved4; - unsigned long int __glibc_reserved5; -# else - __ino64_t st_ino; /* File serial number. */ -# endif -# endif -#endif /* __USE_TIME_BITS64 */ - }; - -#ifdef __USE_LARGEFILE64 -/* Note stat64 has the same shape as stat for x86-64. */ -struct stat64 - { -# ifdef __USE_TIME_BITS64 -# include -# else - __dev_t st_dev; /* Device. */ -# ifdef __x86_64__ - __ino64_t st_ino; /* File serial number. */ - __nlink_t st_nlink; /* Link count. */ - __mode_t st_mode; /* File mode. */ -# else - unsigned int __pad1; - __ino_t __st_ino; /* 32bit file serial number. */ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ -# endif - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ -# ifdef __x86_64__ - int __pad0; - __dev_t st_rdev; /* Device number, if device. */ - __off_t st_size; /* Size of file, in bytes. */ -# else - __dev_t st_rdev; /* Device number, if device. */ - unsigned int __pad2; - __off64_t st_size; /* Size of file, in bytes. */ -# endif - __blksize_t st_blksize; /* Optimal block size for I/O. */ - __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ -# ifdef __USE_XOPEN2K8 - /* Nanosecond resolution timestamps are stored in a format - equivalent to 'struct timespec'. This is the type used - whenever possible but the Unix namespace rules do not allow the - identifier 'timespec' to appear in the header. - Therefore we have to handle the use of this header in strictly - standard-compliant sources special. */ - struct timespec st_atim; /* Time of last access. */ - struct timespec st_mtim; /* Time of last modification. */ - struct timespec st_ctim; /* Time of last status change. */ -# else - __time_t st_atime; /* Time of last access. */ - __syscall_ulong_t st_atimensec; /* Nscecs of last access. */ - __time_t st_mtime; /* Time of last modification. */ - __syscall_ulong_t st_mtimensec; /* Nsecs of last modification. */ - __time_t st_ctime; /* Time of last status change. */ - __syscall_ulong_t st_ctimensec; /* Nsecs of last status change. */ -# endif -# ifdef __x86_64__ - __syscall_slong_t __glibc_reserved[3]; -# else - __ino64_t st_ino; /* File serial number. */ -# endif -# endif /* __USE_TIME_BITS64 */ - }; -#endif - -/* Tell code we have these members. */ -#define _STATBUF_ST_BLKSIZE -#define _STATBUF_ST_RDEV -/* Nanosecond resolution time values are supported. */ -#define _STATBUF_ST_NSEC - -#endif /* _BITS_STRUCT_STAT_H */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_stat.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_stat.h.blob deleted file mode 100644 index b5dd0b6..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_stat.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-baud.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-baud.h deleted file mode 100644 index 0ec0484..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-baud.h +++ /dev/null @@ -1,48 +0,0 @@ -/* termios baud rate selection definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -#ifdef __USE_MISC -# define CBAUD 000000010017 /* Baud speed mask (not in POSIX). */ -# define CBAUDEX 000000010000 /* Extra baud speed mask, included in CBAUD. - (not in POSIX). */ -# define CIBAUD 002003600000 /* Input baud rate (not used). */ -# define CMSPAR 010000000000 /* Mark or space (stick) parity. */ -# define CRTSCTS 020000000000 /* Flow control. */ -#endif - -/* Extra output baud rates (not in POSIX). */ -#define B57600 0010001 -#define B115200 0010002 -#define B230400 0010003 -#define B460800 0010004 -#define B500000 0010005 -#define B576000 0010006 -#define B921600 0010007 -#define B1000000 0010010 -#define B1152000 0010011 -#define B1500000 0010012 -#define B2000000 0010013 -#define B2500000 0010014 -#define B3000000 0010015 -#define B3500000 0010016 -#define B4000000 0010017 -#define __MAX_BAUD B4000000 diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-baud.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-baud.h.blob deleted file mode 100644 index be0780d..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-baud.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cc.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cc.h deleted file mode 100644 index a44813c..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cc.h +++ /dev/null @@ -1,40 +0,0 @@ -/* termios c_cc symbolic constant definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -/* c_cc characters */ -#define VINTR 0 -#define VQUIT 1 -#define VERASE 2 -#define VKILL 3 -#define VEOF 4 -#define VTIME 5 -#define VMIN 6 -#define VSWTC 7 -#define VSTART 8 -#define VSTOP 9 -#define VSUSP 10 -#define VEOL 11 -#define VREPRINT 12 -#define VDISCARD 13 -#define VWERASE 14 -#define VLNEXT 15 -#define VEOL2 16 diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cc.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cc.h.blob deleted file mode 100644 index fb3597c..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cc.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cflag.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cflag.h deleted file mode 100644 index d1b45e6..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cflag.h +++ /dev/null @@ -1,34 +0,0 @@ -/* termios control mode definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -/* c_cflag bits. */ -#define CSIZE 0000060 -#define CS5 0000000 -#define CS6 0000020 -#define CS7 0000040 -#define CS8 0000060 -#define CSTOPB 0000100 -#define CREAD 0000200 -#define PARENB 0000400 -#define PARODD 0001000 -#define HUPCL 0002000 -#define CLOCAL 0004000 diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cflag.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cflag.h.blob deleted file mode 100644 index f38d97b..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cflag.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_iflag.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_iflag.h deleted file mode 100644 index c74511c..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_iflag.h +++ /dev/null @@ -1,40 +0,0 @@ -/* termios input mode definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -/* c_iflag bits */ -#define IGNBRK 0000001 /* Ignore break condition. */ -#define BRKINT 0000002 /* Signal interrupt on break. */ -#define IGNPAR 0000004 /* Ignore characters with parity errors. */ -#define PARMRK 0000010 /* Mark parity and framing errors. */ -#define INPCK 0000020 /* Enable input parity check. */ -#define ISTRIP 0000040 /* Strip 8th bit off characters. */ -#define INLCR 0000100 /* Map NL to CR on input. */ -#define IGNCR 0000200 /* Ignore CR. */ -#define ICRNL 0000400 /* Map CR to NL on input. */ -#define IUCLC 0001000 /* Map uppercase characters to lowercase on input - (not in POSIX). */ -#define IXON 0002000 /* Enable start/stop output control. */ -#define IXANY 0004000 /* Enable any character to restart output. */ -#define IXOFF 0010000 /* Enable start/stop input control. */ -#define IMAXBEL 0020000 /* Ring bell when input queue is full - (not in POSIX). */ -#define IUTF8 0040000 /* Input is UTF8 (not in POSIX). */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_iflag.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_iflag.h.blob deleted file mode 100644 index 9f64112..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_iflag.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_lflag.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_lflag.h deleted file mode 100644 index 0b2b5db..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_lflag.h +++ /dev/null @@ -1,58 +0,0 @@ -/* termios local mode definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -/* c_lflag bits */ -#define ISIG 0000001 /* Enable signals. */ -#define ICANON 0000002 /* Canonical input (erase and kill processing). */ -#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) -# define XCASE 0000004 -#endif -#define ECHO 0000010 /* Enable echo. */ -#define ECHOE 0000020 /* Echo erase character as error-correcting - backspace. */ -#define ECHOK 0000040 /* Echo KILL. */ -#define ECHONL 0000100 /* Echo NL. */ -#define NOFLSH 0000200 /* Disable flush after interrupt or quit. */ -#define TOSTOP 0000400 /* Send SIGTTOU for background output. */ -#ifdef __USE_MISC -# define ECHOCTL 0001000 /* If ECHO is also set, terminal special characters - other than TAB, NL, START, and STOP are echoed as - ^X, where X is the character with ASCII code 0x40 - greater than the special character - (not in POSIX). */ -# define ECHOPRT 0002000 /* If ICANON and ECHO are also set, characters are - printed as they are being erased - (not in POSIX). */ -# define ECHOKE 0004000 /* If ICANON is also set, KILL is echoed by erasing - each character on the line, as specified by ECHOE - and ECHOPRT (not in POSIX). */ -# define FLUSHO 0010000 /* Output is being flushed. This flag is toggled by - typing the DISCARD character (not in POSIX). */ -# define PENDIN 0040000 /* All characters in the input queue are reprinted - when the next character is read - (not in POSIX). */ -#endif -#define IEXTEN 0100000 /* Enable implementation-defined input - processing. */ -#ifdef __USE_MISC -# define EXTPROC 0200000 -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_lflag.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_lflag.h.blob deleted file mode 100644 index a7c5de6..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_lflag.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_oflag.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_oflag.h deleted file mode 100644 index 6bf7a29..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_oflag.h +++ /dev/null @@ -1,61 +0,0 @@ -/* termios output mode definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -/* c_oflag bits */ -#define OPOST 0000001 /* Post-process output. */ -#define OLCUC 0000002 /* Map lowercase characters to uppercase on output. - (not in POSIX). */ -#define ONLCR 0000004 /* Map NL to CR-NL on output. */ -#define OCRNL 0000010 /* Map CR to NL on output. */ -#define ONOCR 0000020 /* No CR output at column 0. */ -#define ONLRET 0000040 /* NL performs CR function. */ -#define OFILL 0000100 /* Use fill characters for delay. */ -#define OFDEL 0000200 /* Fill is DEL. */ -#if defined __USE_MISC || defined __USE_XOPEN -# define NLDLY 0000400 /* Select newline delays: */ -# define NL0 0000000 /* Newline type 0. */ -# define NL1 0000400 /* Newline type 1. */ -# define CRDLY 0003000 /* Select carriage-return delays: */ -# define CR0 0000000 /* Carriage-return delay type 0. */ -# define CR1 0001000 /* Carriage-return delay type 1. */ -# define CR2 0002000 /* Carriage-return delay type 2. */ -# define CR3 0003000 /* Carriage-return delay type 3. */ -# define TABDLY 0014000 /* Select horizontal-tab delays: */ -# define TAB0 0000000 /* Horizontal-tab delay type 0. */ -# define TAB1 0004000 /* Horizontal-tab delay type 1. */ -# define TAB2 0010000 /* Horizontal-tab delay type 2. */ -# define TAB3 0014000 /* Expand tabs to spaces. */ -# define BSDLY 0020000 /* Select backspace delays: */ -# define BS0 0000000 /* Backspace-delay type 0. */ -# define BS1 0020000 /* Backspace-delay type 1. */ -# define FFDLY 0100000 /* Select form-feed delays: */ -# define FF0 0000000 /* Form-feed delay type 0. */ -# define FF1 0100000 /* Form-feed delay type 1. */ -#endif - -#define VTDLY 0040000 /* Select vertical-tab delays: */ -#define VT0 0000000 /* Vertical-tab delay type 0. */ -#define VT1 0040000 /* Vertical-tab delay type 1. */ - -#ifdef __USE_MISC -# define XTABS 0014000 -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_oflag.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_oflag.h.blob deleted file mode 100644 index f72c867..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_oflag.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-misc.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-misc.h deleted file mode 100644 index 690b601..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-misc.h +++ /dev/null @@ -1,21 +0,0 @@ -/* termios baud platform specific definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-misc.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-misc.h.blob deleted file mode 100644 index e735528..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-misc.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-struct.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-struct.h deleted file mode 100644 index f227f5b..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-struct.h +++ /dev/null @@ -1,36 +0,0 @@ -/* struct termios definition. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -#define NCCS 32 -struct termios - { - tcflag_t c_iflag; /* input mode flags */ - tcflag_t c_oflag; /* output mode flags */ - tcflag_t c_cflag; /* control mode flags */ - tcflag_t c_lflag; /* local mode flags */ - cc_t c_line; /* line discipline */ - cc_t c_cc[NCCS]; /* control characters */ - speed_t c_ispeed; /* input speed */ - speed_t c_ospeed; /* output speed */ -#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1 -#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1 - }; diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-struct.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-struct.h.blob deleted file mode 100644 index 28362d7..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-struct.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-tcflow.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-tcflow.h deleted file mode 100644 index 3ee5631..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-tcflow.h +++ /dev/null @@ -1,26 +0,0 @@ -/* termios tcflag symbolic contants definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -/* tcsetattr uses these. */ -#define TCSANOW 0 -#define TCSADRAIN 1 -#define TCSAFLUSH 2 diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-tcflow.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-tcflow.h.blob deleted file mode 100644 index 3882fa5..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-tcflow.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios.h deleted file mode 100644 index 67c847f..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios.h +++ /dev/null @@ -1,76 +0,0 @@ -/* termios type and macro definitions. Linux version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -typedef unsigned char cc_t; -typedef unsigned int speed_t; -typedef unsigned int tcflag_t; - -#include -#include -#include -#include - -/* c_cflag bit meaning */ -#define B0 0000000 /* hang up */ -#define B50 0000001 -#define B75 0000002 -#define B110 0000003 -#define B134 0000004 -#define B150 0000005 -#define B200 0000006 -#define B300 0000007 -#define B600 0000010 -#define B1200 0000011 -#define B1800 0000012 -#define B2400 0000013 -#define B4800 0000014 -#define B9600 0000015 -#define B19200 0000016 -#define B38400 0000017 -#ifdef __USE_MISC -# define EXTA B19200 -# define EXTB B38400 -#endif -#include - -#include -#include - -#ifdef __USE_MISC -/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ -# define TIOCSER_TEMT 0x01 /* Transmitter physically empty */ -#endif - -/* tcflow() and TCXONC use these */ -#define TCOOFF 0 -#define TCOON 1 -#define TCIOFF 2 -#define TCION 3 - -/* tcflush() and TCFLSH use these */ -#define TCIFLUSH 0 -#define TCOFLUSH 1 -#define TCIOFLUSH 2 - -#include - -#include diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios.h.blob deleted file mode 100644 index 1861823..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@thread-shared-types.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@thread-shared-types.h deleted file mode 100644 index 44bf1e3..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@thread-shared-types.h +++ /dev/null @@ -1,129 +0,0 @@ -/* Common threading primitives definitions for both POSIX and C11. - Copyright (C) 2017-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _THREAD_SHARED_TYPES_H -#define _THREAD_SHARED_TYPES_H 1 - -/* Arch-specific definitions. Each architecture must define the following - macros to define the expected sizes of pthread data types: - - __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t. - __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t. - __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t. - __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t. - __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t. - __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t. - __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t. - __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t. - __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t. - - The additional macro defines any constraint for the lock alignment - inside the thread structures: - - __LOCK_ALIGNMENT - for internal lock/futex usage. - - Same idea but for the once locking primitive: - - __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. */ - -#include - - -/* Common definition of pthread_mutex_t. */ - -typedef struct __pthread_internal_list -{ - struct __pthread_internal_list *__prev; - struct __pthread_internal_list *__next; -} __pthread_list_t; - -typedef struct __pthread_internal_slist -{ - struct __pthread_internal_slist *__next; -} __pthread_slist_t; - -/* Arch-specific mutex definitions. A generic implementation is provided - by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture - can override it by defining: - - 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t - definition). It should contains at least the internal members - defined in the generic version. - - 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with - atomic operations. - - 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization. - It should initialize the mutex internal flag. */ - -#include - -/* Arch-sepecific read-write lock definitions. A generic implementation is - provided by struct_rwlock.h. If required, an architecture can override it - by defining: - - 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition). - It should contain at least the internal members defined in the - generic version. - - 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization. - It should initialize the rwlock internal type. */ - -#include - - -/* Common definition of pthread_cond_t. */ - -struct __pthread_cond_s -{ - __extension__ union - { - __extension__ unsigned long long int __wseq; - struct - { - unsigned int __low; - unsigned int __high; - } __wseq32; - }; - __extension__ union - { - __extension__ unsigned long long int __g1_start; - struct - { - unsigned int __low; - unsigned int __high; - } __g1_start32; - }; - unsigned int __g_refs[2] __LOCK_ALIGNMENT; - unsigned int __g_size[2]; - unsigned int __g1_orig_size; - unsigned int __wrefs; - unsigned int __g_signals[2]; -}; - -typedef unsigned int __tss_t; -typedef unsigned long int __thrd_t; - -typedef struct -{ - int __data __ONCE_ALIGNMENT; -} __once_flag; - -#define __ONCE_FLAG_INIT { 0 } - -#endif /* _THREAD_SHARED_TYPES_H */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@thread-shared-types.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@thread-shared-types.h.blob deleted file mode 100644 index ecd37f1..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@thread-shared-types.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@time64.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@time64.h deleted file mode 100644 index af3e731..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@time64.h +++ /dev/null @@ -1,36 +0,0 @@ -/* bits/time64.h -- underlying types for __time64_t. Generic version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_TYPES_H -# error "Never include directly; use instead." -#endif - -#ifndef _BITS_TIME64_H -#define _BITS_TIME64_H 1 - -/* Define __TIME64_T_TYPE so that it is always a 64-bit type. */ - -#if __TIMESIZE == 64 -/* If we already have 64-bit time type then use it. */ -# define __TIME64_T_TYPE __TIME_T_TYPE -#else -/* Define a 64-bit time type alongsize the 32-bit one. */ -# define __TIME64_T_TYPE __SQUAD_TYPE -#endif - -#endif /* bits/time64.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@time64.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@time64.h.blob deleted file mode 100644 index 56073c6..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@time64.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@timesize.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@timesize.h deleted file mode 100644 index 17e943a..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@timesize.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Bit size of the time_t type at glibc build time, x86-64 and x32 case. - Copyright (C) 2018-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#if defined __x86_64__ && defined __ILP32__ -/* For x32, time is 64-bit even though word size is 32-bit. */ -# define __TIMESIZE 64 -#else -/* For others, time size is word size. */ -# define __TIMESIZE __WORDSIZE -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@timesize.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@timesize.h.blob deleted file mode 100644 index b347d40..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@timesize.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types.h deleted file mode 100644 index 2dc63de..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types.h +++ /dev/null @@ -1,228 +0,0 @@ -/* bits/types.h -- definitions of __*_t types underlying *_t types. - Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * Never include this file directly; use instead. - */ - -#ifndef _BITS_TYPES_H -#define _BITS_TYPES_H 1 - -#include -#include -#include - -/* Convenience types. */ -typedef unsigned char __u_char; -typedef unsigned short int __u_short; -typedef unsigned int __u_int; -typedef unsigned long int __u_long; - -/* Fixed-size types, underlying types depend on word size and compiler. */ -typedef signed char __int8_t; -typedef unsigned char __uint8_t; -typedef signed short int __int16_t; -typedef unsigned short int __uint16_t; -typedef signed int __int32_t; -typedef unsigned int __uint32_t; -#if __WORDSIZE == 64 -typedef signed long int __int64_t; -typedef unsigned long int __uint64_t; -#else -__extension__ typedef signed long long int __int64_t; -__extension__ typedef unsigned long long int __uint64_t; -#endif - -/* Smallest types with at least a given width. */ -typedef __int8_t __int_least8_t; -typedef __uint8_t __uint_least8_t; -typedef __int16_t __int_least16_t; -typedef __uint16_t __uint_least16_t; -typedef __int32_t __int_least32_t; -typedef __uint32_t __uint_least32_t; -typedef __int64_t __int_least64_t; -typedef __uint64_t __uint_least64_t; - -/* quad_t is also 64 bits. */ -#if __WORDSIZE == 64 -typedef long int __quad_t; -typedef unsigned long int __u_quad_t; -#else -__extension__ typedef long long int __quad_t; -__extension__ typedef unsigned long long int __u_quad_t; -#endif - -/* Largest integral types. */ -#if __WORDSIZE == 64 -typedef long int __intmax_t; -typedef unsigned long int __uintmax_t; -#else -__extension__ typedef long long int __intmax_t; -__extension__ typedef unsigned long long int __uintmax_t; -#endif - - -/* The machine-dependent file defines __*_T_TYPE - macros for each of the OS types we define below. The definitions - of those macros must use the following macros for underlying types. - We define __S_TYPE and __U_TYPE for the signed and unsigned - variants of each of the following integer types on this machine. - - 16 -- "natural" 16-bit type (always short) - 32 -- "natural" 32-bit type (always int) - 64 -- "natural" 64-bit type (long or long long) - LONG32 -- 32-bit type, traditionally long - QUAD -- 64-bit type, traditionally long long - WORD -- natural type of __WORDSIZE bits (int or long) - LONGWORD -- type of __WORDSIZE bits, traditionally long - - We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the - conventional uses of `long' or `long long' type modifiers match the - types we define, even when a less-adorned type would be the same size. - This matters for (somewhat) portably writing printf/scanf formats for - these types, where using the appropriate l or ll format modifiers can - make the typedefs and the formats match up across all GNU platforms. If - we used `long' when it's 64 bits where `long long' is expected, then the - compiler would warn about the formats not matching the argument types, - and the programmer changing them to shut up the compiler would break the - program's portability. - - Here we assume what is presently the case in all the GCC configurations - we support: long long is always 64 bits, long is always word/address size, - and int is always 32 bits. */ - -#define __S16_TYPE short int -#define __U16_TYPE unsigned short int -#define __S32_TYPE int -#define __U32_TYPE unsigned int -#define __SLONGWORD_TYPE long int -#define __ULONGWORD_TYPE unsigned long int -#if __WORDSIZE == 32 -# define __SQUAD_TYPE __int64_t -# define __UQUAD_TYPE __uint64_t -# define __SWORD_TYPE int -# define __UWORD_TYPE unsigned int -# define __SLONG32_TYPE long int -# define __ULONG32_TYPE unsigned long int -# define __S64_TYPE __int64_t -# define __U64_TYPE __uint64_t -/* We want __extension__ before typedef's that use nonstandard base types - such as `long long' in C89 mode. */ -# define __STD_TYPE __extension__ typedef -#elif __WORDSIZE == 64 -# define __SQUAD_TYPE long int -# define __UQUAD_TYPE unsigned long int -# define __SWORD_TYPE long int -# define __UWORD_TYPE unsigned long int -# define __SLONG32_TYPE int -# define __ULONG32_TYPE unsigned int -# define __S64_TYPE long int -# define __U64_TYPE unsigned long int -/* No need to mark the typedef with __extension__. */ -# define __STD_TYPE typedef -#else -# error -#endif -#include /* Defines __*_T_TYPE macros. */ -#include /* Defines __TIME*_T_TYPE macros. */ - - -__STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */ -__STD_TYPE __UID_T_TYPE __uid_t; /* Type of user identifications. */ -__STD_TYPE __GID_T_TYPE __gid_t; /* Type of group identifications. */ -__STD_TYPE __INO_T_TYPE __ino_t; /* Type of file serial numbers. */ -__STD_TYPE __INO64_T_TYPE __ino64_t; /* Type of file serial numbers (LFS).*/ -__STD_TYPE __MODE_T_TYPE __mode_t; /* Type of file attribute bitmasks. */ -__STD_TYPE __NLINK_T_TYPE __nlink_t; /* Type of file link counts. */ -__STD_TYPE __OFF_T_TYPE __off_t; /* Type of file sizes and offsets. */ -__STD_TYPE __OFF64_T_TYPE __off64_t; /* Type of file sizes and offsets (LFS). */ -__STD_TYPE __PID_T_TYPE __pid_t; /* Type of process identifications. */ -__STD_TYPE __FSID_T_TYPE __fsid_t; /* Type of file system IDs. */ -__STD_TYPE __CLOCK_T_TYPE __clock_t; /* Type of CPU usage counts. */ -__STD_TYPE __RLIM_T_TYPE __rlim_t; /* Type for resource measurement. */ -__STD_TYPE __RLIM64_T_TYPE __rlim64_t; /* Type for resource measurement (LFS). */ -__STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */ -__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */ -__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */ -__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */ -__STD_TYPE __SUSECONDS64_T_TYPE __suseconds64_t; - -__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */ -__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */ - -/* Clock ID used in clock and timer functions. */ -__STD_TYPE __CLOCKID_T_TYPE __clockid_t; - -/* Timer ID returned by `timer_create'. */ -__STD_TYPE __TIMER_T_TYPE __timer_t; - -/* Type to represent block size. */ -__STD_TYPE __BLKSIZE_T_TYPE __blksize_t; - -/* Types from the Large File Support interface. */ - -/* Type to count number of disk blocks. */ -__STD_TYPE __BLKCNT_T_TYPE __blkcnt_t; -__STD_TYPE __BLKCNT64_T_TYPE __blkcnt64_t; - -/* Type to count file system blocks. */ -__STD_TYPE __FSBLKCNT_T_TYPE __fsblkcnt_t; -__STD_TYPE __FSBLKCNT64_T_TYPE __fsblkcnt64_t; - -/* Type to count file system nodes. */ -__STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t; -__STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t; - -/* Type of miscellaneous file system fields. */ -__STD_TYPE __FSWORD_T_TYPE __fsword_t; - -__STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error. */ - -/* Signed long type used in system calls. */ -__STD_TYPE __SYSCALL_SLONG_TYPE __syscall_slong_t; -/* Unsigned long type used in system calls. */ -__STD_TYPE __SYSCALL_ULONG_TYPE __syscall_ulong_t; - -/* These few don't really vary by system, they always correspond - to one of the other defined types. */ -typedef __off64_t __loff_t; /* Type of file sizes and offsets (LFS). */ -typedef char *__caddr_t; - -/* Duplicates info from stdint.h but this is used in unistd.h. */ -__STD_TYPE __SWORD_TYPE __intptr_t; - -/* Duplicate info from sys/socket.h. */ -__STD_TYPE __U32_TYPE __socklen_t; - -/* C99: An integer type that can be accessed as an atomic entity, - even in the presence of asynchronous interrupts. - It is not currently necessary for this to be machine-specific. */ -typedef int __sig_atomic_t; - -/* Seconds since the Epoch, visible to user code when time_t is too - narrow only for consistency with the old way of widening too-narrow - types. User code should never use __time64_t. */ -#if __TIMESIZE == 64 && defined __LIBC -# define __time64_t __time_t -#elif __TIMESIZE != 64 -__STD_TYPE __TIME64_T_TYPE __time64_t; -#endif - -#undef __STD_TYPE - -#endif /* bits/types.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types.h.blob deleted file mode 100644 index abc7abc..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@FILE.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@FILE.h deleted file mode 100644 index f268263..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@FILE.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef __FILE_defined -#define __FILE_defined 1 - -struct _IO_FILE; - -/* The opaque type of streams. This is the definition used elsewhere. */ -typedef struct _IO_FILE FILE; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@FILE.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@FILE.h.blob deleted file mode 100644 index f236ffd..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@FILE.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__FILE.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__FILE.h deleted file mode 100644 index 06dd79b..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__FILE.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef ____FILE_defined -#define ____FILE_defined 1 - -struct _IO_FILE; -typedef struct _IO_FILE __FILE; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__FILE.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__FILE.h.blob deleted file mode 100644 index 30d86c9..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__FILE.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos64_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos64_t.h deleted file mode 100644 index 06a6891..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos64_t.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _____fpos64_t_defined -#define _____fpos64_t_defined 1 - -#include -#include - -/* The tag name of this struct is _G_fpos64_t to preserve historic - C++ mangled names for functions taking fpos_t and/or fpos64_t - arguments. That name should not be used in new code. */ -typedef struct _G_fpos64_t -{ - __off64_t __pos; - __mbstate_t __state; -} __fpos64_t; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos64_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos64_t.h.blob deleted file mode 100644 index 85c2e21..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos64_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos_t.h deleted file mode 100644 index bb04576..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos_t.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _____fpos_t_defined -#define _____fpos_t_defined 1 - -#include -#include - -/* The tag name of this struct is _G_fpos_t to preserve historic - C++ mangled names for functions taking fpos_t arguments. - That name should not be used in new code. */ -typedef struct _G_fpos_t -{ - __off_t __pos; - __mbstate_t __state; -} __fpos_t; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos_t.h.blob deleted file mode 100644 index d90568c..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__locale_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__locale_t.h deleted file mode 100644 index b0742bf..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__locale_t.h +++ /dev/null @@ -1,44 +0,0 @@ -/* Definition of struct __locale_struct and __locale_t. - Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1997. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_TYPES___LOCALE_T_H -#define _BITS_TYPES___LOCALE_T_H 1 - -/* POSIX.1-2008: the locale_t type, representing a locale context - (implementation-namespace version). This type should be treated - as opaque by applications; some details are exposed for the sake of - efficiency in e.g. ctype functions. */ - -struct __locale_struct -{ - /* Note: LC_ALL is not a valid index into this array. */ - struct __locale_data *__locales[13]; /* 13 = __LC_LAST. */ - - /* To increase the speed of this solution we add some special members. */ - const unsigned short int *__ctype_b; - const int *__ctype_tolower; - const int *__ctype_toupper; - - /* Note: LC_ALL is not a valid index into this array. */ - const char *__names[13]; -}; - -typedef struct __locale_struct *__locale_t; - -#endif /* bits/types/__locale_t.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__locale_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__locale_t.h.blob deleted file mode 100644 index 47bc062..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__locale_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__mbstate_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__mbstate_t.h deleted file mode 100644 index 1d8a4e2..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__mbstate_t.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef ____mbstate_t_defined -#define ____mbstate_t_defined 1 - -/* Integral type unchanged by default argument promotions that can - hold any value corresponding to members of the extended character - set, as well as at least one value that does not correspond to any - member of the extended character set. */ -#ifndef __WINT_TYPE__ -# define __WINT_TYPE__ unsigned int -#endif - -/* Conversion state information. */ -typedef struct -{ - int __count; - union - { - __WINT_TYPE__ __wch; - char __wchb[4]; - } __value; /* Value so far. */ -} __mbstate_t; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__mbstate_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__mbstate_t.h.blob deleted file mode 100644 index 5506770..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__mbstate_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigset_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigset_t.h deleted file mode 100644 index e2f18ac..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigset_t.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef ____sigset_t_defined -#define ____sigset_t_defined - -#define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int))) -typedef struct -{ - unsigned long int __val[_SIGSET_NWORDS]; -} __sigset_t; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigset_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigset_t.h.blob deleted file mode 100644 index 2f2789b..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigset_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigval_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigval_t.h deleted file mode 100644 index 0737bf9..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigval_t.h +++ /dev/null @@ -1,41 +0,0 @@ -/* Define __sigval_t. - Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef ____sigval_t_defined -#define ____sigval_t_defined - -/* Type for data associated with a signal. */ -#ifdef __USE_POSIX199309 -union sigval -{ - int sival_int; - void *sival_ptr; -}; - -typedef union sigval __sigval_t; -#else -union __sigval -{ - int __sival_int; - void *__sival_ptr; -}; - -typedef union __sigval __sigval_t; -#endif - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigval_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigval_t.h.blob deleted file mode 100644 index 428a9ec..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigval_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clock_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clock_t.h deleted file mode 100644 index ce97248..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clock_t.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef __clock_t_defined -#define __clock_t_defined 1 - -#include - -/* Returned by `clock'. */ -typedef __clock_t clock_t; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clock_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clock_t.h.blob deleted file mode 100644 index ae95fcc..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clock_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clockid_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clockid_t.h deleted file mode 100644 index b17c7da..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clockid_t.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef __clockid_t_defined -#define __clockid_t_defined 1 - -#include - -/* Clock ID used in clock and timer functions. */ -typedef __clockid_t clockid_t; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clockid_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clockid_t.h.blob deleted file mode 100644 index a1ae8b7..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clockid_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@locale_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@locale_t.h deleted file mode 100644 index f46e9b0..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@locale_t.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Definition of locale_t. - Copyright (C) 2017-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_TYPES_LOCALE_T_H -#define _BITS_TYPES_LOCALE_T_H 1 - -#include - -typedef __locale_t locale_t; - -#endif /* bits/types/locale_t.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@locale_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@locale_t.h.blob deleted file mode 100644 index 18f2901..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@locale_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@mbstate_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@mbstate_t.h deleted file mode 100644 index 8d1baa5..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@mbstate_t.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef __mbstate_t_defined -#define __mbstate_t_defined 1 - -#include - -typedef __mbstate_t mbstate_t; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@mbstate_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@mbstate_t.h.blob deleted file mode 100644 index 623b34a..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@mbstate_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sig_atomic_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sig_atomic_t.h deleted file mode 100644 index 47eaa28..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sig_atomic_t.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef __sig_atomic_t_defined -#define __sig_atomic_t_defined 1 - -#include - -/* An integral type that can be modified atomically, without the - possibility of a signal arriving in the middle of the operation. */ -typedef __sig_atomic_t sig_atomic_t; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sig_atomic_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sig_atomic_t.h.blob deleted file mode 100644 index d22bc8b..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sig_atomic_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigevent_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigevent_t.h deleted file mode 100644 index e8b28de..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigevent_t.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef __sigevent_t_defined -#define __sigevent_t_defined 1 - -#include -#include -#include - -#define __SIGEV_MAX_SIZE 64 -#if __WORDSIZE == 64 -# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4) -#else -# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3) -#endif - -/* Forward declaration. */ -#ifndef __have_pthread_attr_t -typedef union pthread_attr_t pthread_attr_t; -# define __have_pthread_attr_t 1 -#endif - -/* Structure to transport application-defined values with signals. */ -typedef struct sigevent - { - __sigval_t sigev_value; - int sigev_signo; - int sigev_notify; - - union - { - int _pad[__SIGEV_PAD_SIZE]; - - /* When SIGEV_SIGNAL and SIGEV_THREAD_ID set, LWP ID of the - thread to receive the signal. */ - __pid_t _tid; - - struct - { - void (*_function) (__sigval_t); /* Function to start. */ - pthread_attr_t *_attribute; /* Thread attributes. */ - } _sigev_thread; - } _sigev_un; - } sigevent_t; - -/* POSIX names to access some of the members. */ -#define sigev_notify_function _sigev_un._sigev_thread._function -#define sigev_notify_attributes _sigev_un._sigev_thread._attribute - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigevent_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigevent_t.h.blob deleted file mode 100644 index b61745f..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigevent_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@siginfo_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@siginfo_t.h deleted file mode 100644 index 43c4e00..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@siginfo_t.h +++ /dev/null @@ -1,151 +0,0 @@ -#ifndef __siginfo_t_defined -#define __siginfo_t_defined 1 - -#include -#include -#include - -#define __SI_MAX_SIZE 128 -#if __WORDSIZE == 64 -# define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 4) -#else -# define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 3) -#endif - -/* Some fields of siginfo_t have architecture-specific variations. */ -#include -#ifndef __SI_ALIGNMENT -# define __SI_ALIGNMENT /* nothing */ -#endif -#ifndef __SI_BAND_TYPE -# define __SI_BAND_TYPE long int -#endif -#ifndef __SI_CLOCK_T -# define __SI_CLOCK_T __clock_t -#endif -#ifndef __SI_ERRNO_THEN_CODE -# define __SI_ERRNO_THEN_CODE 1 -#endif -#ifndef __SI_HAVE_SIGSYS -# define __SI_HAVE_SIGSYS 1 -#endif -#ifndef __SI_SIGFAULT_ADDL -# define __SI_SIGFAULT_ADDL /* nothing */ -#endif - -typedef struct - { - int si_signo; /* Signal number. */ -#if __SI_ERRNO_THEN_CODE - int si_errno; /* If non-zero, an errno value associated with - this signal, as defined in . */ - int si_code; /* Signal code. */ -#else - int si_code; - int si_errno; -#endif -#if __WORDSIZE == 64 - int __pad0; /* Explicit padding. */ -#endif - - union - { - int _pad[__SI_PAD_SIZE]; - - /* kill(). */ - struct - { - __pid_t si_pid; /* Sending process ID. */ - __uid_t si_uid; /* Real user ID of sending process. */ - } _kill; - - /* POSIX.1b timers. */ - struct - { - int si_tid; /* Timer ID. */ - int si_overrun; /* Overrun count. */ - __sigval_t si_sigval; /* Signal value. */ - } _timer; - - /* POSIX.1b signals. */ - struct - { - __pid_t si_pid; /* Sending process ID. */ - __uid_t si_uid; /* Real user ID of sending process. */ - __sigval_t si_sigval; /* Signal value. */ - } _rt; - - /* SIGCHLD. */ - struct - { - __pid_t si_pid; /* Which child. */ - __uid_t si_uid; /* Real user ID of sending process. */ - int si_status; /* Exit value or signal. */ - __SI_CLOCK_T si_utime; - __SI_CLOCK_T si_stime; - } _sigchld; - - /* SIGILL, SIGFPE, SIGSEGV, SIGBUS. */ - struct - { - void *si_addr; /* Faulting insn/memory ref. */ - __SI_SIGFAULT_ADDL - short int si_addr_lsb; /* Valid LSB of the reported address. */ - union - { - /* used when si_code=SEGV_BNDERR */ - struct - { - void *_lower; - void *_upper; - } _addr_bnd; - /* used when si_code=SEGV_PKUERR */ - __uint32_t _pkey; - } _bounds; - } _sigfault; - - /* SIGPOLL. */ - struct - { - __SI_BAND_TYPE si_band; /* Band event for SIGPOLL. */ - int si_fd; - } _sigpoll; - - /* SIGSYS. */ -#if __SI_HAVE_SIGSYS - struct - { - void *_call_addr; /* Calling user insn. */ - int _syscall; /* Triggering system call number. */ - unsigned int _arch; /* AUDIT_ARCH_* of syscall. */ - } _sigsys; -#endif - } _sifields; - } siginfo_t __SI_ALIGNMENT; - - -/* X/Open requires some more fields with fixed names. */ -#define si_pid _sifields._kill.si_pid -#define si_uid _sifields._kill.si_uid -#define si_timerid _sifields._timer.si_tid -#define si_overrun _sifields._timer.si_overrun -#define si_status _sifields._sigchld.si_status -#define si_utime _sifields._sigchld.si_utime -#define si_stime _sifields._sigchld.si_stime -#define si_value _sifields._rt.si_sigval -#define si_int _sifields._rt.si_sigval.sival_int -#define si_ptr _sifields._rt.si_sigval.sival_ptr -#define si_addr _sifields._sigfault.si_addr -#define si_addr_lsb _sifields._sigfault.si_addr_lsb -#define si_lower _sifields._sigfault._bounds._addr_bnd._lower -#define si_upper _sifields._sigfault._bounds._addr_bnd._upper -#define si_pkey _sifields._sigfault._bounds._pkey -#define si_band _sifields._sigpoll.si_band -#define si_fd _sifields._sigpoll.si_fd -#if __SI_HAVE_SIGSYS -# define si_call_addr _sifields._sigsys._call_addr -# define si_syscall _sifields._sigsys._syscall -# define si_arch _sifields._sigsys._arch -#endif - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@siginfo_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@siginfo_t.h.blob deleted file mode 100644 index e2a8b9d..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@siginfo_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigset_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigset_t.h deleted file mode 100644 index 8b27e91..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigset_t.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef __sigset_t_defined -#define __sigset_t_defined 1 - -#include - -/* A set of signals to be blocked, unblocked, or waited for. */ -typedef __sigset_t sigset_t; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigset_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigset_t.h.blob deleted file mode 100644 index 81f29e0..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigset_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigval_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigval_t.h deleted file mode 100644 index a05d7f4..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigval_t.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef __sigval_t_defined -#define __sigval_t_defined - -#include - -/* To avoid sigval_t (not a standard type name) having C++ name - mangling depending on whether the selected standard includes union - sigval, it should not be defined at all when using a standard for - which the sigval name is not reserved; in that case, headers should - not include and should use only the - internal __sigval_t name. */ -#ifndef __USE_POSIX199309 -# error "sigval_t defined for standard not including union sigval" -#endif - -typedef __sigval_t sigval_t; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigval_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigval_t.h.blob deleted file mode 100644 index 00a3c3a..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigval_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@stack_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@stack_t.h deleted file mode 100644 index b544027..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@stack_t.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Define stack_t. Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef __stack_t_defined -#define __stack_t_defined 1 - -#define __need_size_t -#include - -/* Structure describing a signal stack. */ -typedef struct - { - void *ss_sp; - int ss_flags; - size_t ss_size; - } stack_t; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@stack_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@stack_t.h.blob deleted file mode 100644 index 7dd1c41..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@stack_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_FILE.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_FILE.h deleted file mode 100644 index ff8aef5..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_FILE.h +++ /dev/null @@ -1,120 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef __struct_FILE_defined -#define __struct_FILE_defined 1 - -/* Caution: The contents of this file are not part of the official - stdio.h API. However, much of it is part of the official *binary* - interface, and therefore cannot be changed. */ - -#if defined _IO_USE_OLD_IO_FILE && !defined _LIBC -# error "_IO_USE_OLD_IO_FILE should only be defined when building libc itself" -#endif - -#if defined _IO_lock_t_defined && !defined _LIBC -# error "_IO_lock_t_defined should only be defined when building libc itself" -#endif - -#include - -struct _IO_FILE; -struct _IO_marker; -struct _IO_codecvt; -struct _IO_wide_data; - -/* During the build of glibc itself, _IO_lock_t will already have been - defined by internal headers. */ -#ifndef _IO_lock_t_defined -typedef void _IO_lock_t; -#endif - -/* The tag name of this struct is _IO_FILE to preserve historic - C++ mangled names for functions taking FILE* arguments. - That name should not be used in new code. */ -struct _IO_FILE -{ - int _flags; /* High-order word is _IO_MAGIC; rest is flags. */ - - /* The following pointers correspond to the C++ streambuf protocol. */ - char *_IO_read_ptr; /* Current read pointer */ - char *_IO_read_end; /* End of get area. */ - char *_IO_read_base; /* Start of putback+get area. */ - char *_IO_write_base; /* Start of put area. */ - char *_IO_write_ptr; /* Current put pointer. */ - char *_IO_write_end; /* End of put area. */ - char *_IO_buf_base; /* Start of reserve area. */ - char *_IO_buf_end; /* End of reserve area. */ - - /* The following fields are used to support backing up and undo. */ - char *_IO_save_base; /* Pointer to start of non-current get area. */ - char *_IO_backup_base; /* Pointer to first valid character of backup area */ - char *_IO_save_end; /* Pointer to end of non-current get area. */ - - struct _IO_marker *_markers; - - struct _IO_FILE *_chain; - - int _fileno; - int _flags2; - __off_t _old_offset; /* This used to be _offset but it's too small. */ - - /* 1+column number of pbase(); 0 is unknown. */ - unsigned short _cur_column; - signed char _vtable_offset; - char _shortbuf[1]; - - _IO_lock_t *_lock; -#ifdef _IO_USE_OLD_IO_FILE -}; - -struct _IO_FILE_complete -{ - struct _IO_FILE _file; -#endif - __off64_t _offset; - /* Wide character stream stuff. */ - struct _IO_codecvt *_codecvt; - struct _IO_wide_data *_wide_data; - struct _IO_FILE *_freeres_list; - void *_freeres_buf; - size_t __pad5; - int _mode; - /* Make sure we don't get into trouble again. */ - char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; -}; - -/* These macros are used by bits/stdio.h and internal headers. */ -#define __getc_unlocked_body(_fp) \ - (__glibc_unlikely ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end) \ - ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++) - -#define __putc_unlocked_body(_ch, _fp) \ - (__glibc_unlikely ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end) \ - ? __overflow (_fp, (unsigned char) (_ch)) \ - : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch))) - -#define _IO_EOF_SEEN 0x0010 -#define __feof_unlocked_body(_fp) (((_fp)->_flags & _IO_EOF_SEEN) != 0) - -#define _IO_ERR_SEEN 0x0020 -#define __ferror_unlocked_body(_fp) (((_fp)->_flags & _IO_ERR_SEEN) != 0) - -#define _IO_USER_LOCK 0x8000 -/* Many more flag bits are defined internally. */ - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_FILE.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_FILE.h.blob deleted file mode 100644 index 4bd128a..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_FILE.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_sigstack.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_sigstack.h deleted file mode 100644 index 6500c01..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_sigstack.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Define struct sigstack. - Copyright (C) 1998-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef __sigstack_defined -#define __sigstack_defined 1 - -/* Structure describing a signal stack (obsolete). */ -struct sigstack - { - void *ss_sp; /* Signal stack pointer. */ - int ss_onstack; /* Nonzero if executing on this stack. */ - }; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_sigstack.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_sigstack.h.blob deleted file mode 100644 index e7429b4..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_sigstack.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timespec.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timespec.h deleted file mode 100644 index 489e811..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timespec.h +++ /dev/null @@ -1,33 +0,0 @@ -/* NB: Include guard matches what uses. */ -#ifndef _STRUCT_TIMESPEC -#define _STRUCT_TIMESPEC 1 - -#include -#include -#include - -/* POSIX.1b structure for a time value. This is like a `struct timeval' but - has nanoseconds instead of microseconds. */ -struct timespec -{ -#ifdef __USE_TIME_BITS64 - __time64_t tv_sec; /* Seconds. */ -#else - __time_t tv_sec; /* Seconds. */ -#endif -#if __WORDSIZE == 64 \ - || (defined __SYSCALL_WORDSIZE && __SYSCALL_WORDSIZE == 64) \ - || (__TIMESIZE == 32 && !defined __USE_TIME_BITS64) - __syscall_slong_t tv_nsec; /* Nanoseconds. */ -#else -# if __BYTE_ORDER == __BIG_ENDIAN - int: 32; /* Padding. */ - long int tv_nsec; /* Nanoseconds. */ -# else - long int tv_nsec; /* Nanoseconds. */ - int: 32; /* Padding. */ -# endif -#endif -}; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timespec.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timespec.h.blob deleted file mode 100644 index a023dd9..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timespec.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timeval.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timeval.h deleted file mode 100644 index 3466137..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timeval.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef __timeval_defined -#define __timeval_defined 1 - -#include - -/* A time value that is accurate to the nearest - microsecond but also has a range of years. */ -struct timeval -{ -#ifdef __USE_TIME_BITS64 - __time64_t tv_sec; /* Seconds. */ - __suseconds64_t tv_usec; /* Microseconds. */ -#else - __time_t tv_sec; /* Seconds. */ - __suseconds_t tv_usec; /* Microseconds. */ -#endif -}; -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timeval.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timeval.h.blob deleted file mode 100644 index f381da0..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timeval.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@time_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@time_t.h deleted file mode 100644 index 84d67f6..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@time_t.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef __time_t_defined -#define __time_t_defined 1 - -#include - -/* Returned by `time'. */ -#ifdef __USE_TIME_BITS64 -typedef __time64_t time_t; -#else -typedef __time_t time_t; -#endif - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@time_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@time_t.h.blob deleted file mode 100644 index 226b518..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@time_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@timer_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@timer_t.h deleted file mode 100644 index d71a413..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@timer_t.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef __timer_t_defined -#define __timer_t_defined 1 - -#include - -/* Timer ID returned by `timer_create'. */ -typedef __timer_t timer_t; - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@timer_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@timer_t.h.blob deleted file mode 100644 index 5ed6efc..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@timer_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@wint_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@wint_t.h deleted file mode 100644 index fbd63db..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@wint_t.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef __wint_t_defined -#define __wint_t_defined 1 - -/* Some versions of stddef.h provide wint_t, even though neither the - C nor C++ standards, nor POSIX, specifies this. We assume that - stddef.h will define the macro _WINT_T if and only if it provides - wint_t, and conversely, that it will avoid providing wint_t if - _WINT_T is already defined. */ -#ifndef _WINT_T -#define _WINT_T 1 - -/* Integral type unchanged by default argument promotions that can - hold any value corresponding to members of the extended character - set, as well as at least one value that does not correspond to any - member of the extended character set. */ -#ifndef __WINT_TYPE__ -# define __WINT_TYPE__ unsigned int -#endif - -typedef __WINT_TYPE__ wint_t; - -#endif /* _WINT_T */ -#endif /* bits/types/wint_t.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@wint_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@wint_t.h.blob deleted file mode 100644 index 367f593..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@wint_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@typesizes.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@typesizes.h deleted file mode 100644 index 060af05..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@typesizes.h +++ /dev/null @@ -1,106 +0,0 @@ -/* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version. - Copyright (C) 2012-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_TYPES_H -# error "Never include directly; use instead." -#endif - -#ifndef _BITS_TYPESIZES_H -#define _BITS_TYPESIZES_H 1 - -/* See for the meaning of these macros. This file exists so - that need not vary across different GNU platforms. */ - -/* X32 kernel interface is 64-bit. */ -#if defined __x86_64__ && defined __ILP32__ -# define __SYSCALL_SLONG_TYPE __SQUAD_TYPE -# define __SYSCALL_ULONG_TYPE __UQUAD_TYPE -#else -# define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE -# define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE -#endif - -#define __DEV_T_TYPE __UQUAD_TYPE -#define __UID_T_TYPE __U32_TYPE -#define __GID_T_TYPE __U32_TYPE -#define __INO_T_TYPE __SYSCALL_ULONG_TYPE -#define __INO64_T_TYPE __UQUAD_TYPE -#define __MODE_T_TYPE __U32_TYPE -#ifdef __x86_64__ -# define __NLINK_T_TYPE __SYSCALL_ULONG_TYPE -# define __FSWORD_T_TYPE __SYSCALL_SLONG_TYPE -#else -# define __NLINK_T_TYPE __UWORD_TYPE -# define __FSWORD_T_TYPE __SWORD_TYPE -#endif -#define __OFF_T_TYPE __SYSCALL_SLONG_TYPE -#define __OFF64_T_TYPE __SQUAD_TYPE -#define __PID_T_TYPE __S32_TYPE -#define __RLIM_T_TYPE __SYSCALL_ULONG_TYPE -#define __RLIM64_T_TYPE __UQUAD_TYPE -#define __BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE -#define __BLKCNT64_T_TYPE __SQUAD_TYPE -#define __FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE -#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE -#define __FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE -#define __FSFILCNT64_T_TYPE __UQUAD_TYPE -#define __ID_T_TYPE __U32_TYPE -#define __CLOCK_T_TYPE __SYSCALL_SLONG_TYPE -#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE -#define __USECONDS_T_TYPE __U32_TYPE -#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE -#define __SUSECONDS64_T_TYPE __SQUAD_TYPE -#define __DADDR_T_TYPE __S32_TYPE -#define __KEY_T_TYPE __S32_TYPE -#define __CLOCKID_T_TYPE __S32_TYPE -#define __TIMER_T_TYPE void * -#define __BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE -#define __FSID_T_TYPE struct { int __val[2]; } -#define __SSIZE_T_TYPE __SWORD_TYPE -#define __CPU_MASK_TYPE __SYSCALL_ULONG_TYPE - -#ifdef __x86_64__ -/* Tell the libc code that off_t and off64_t are actually the same type - for all ABI purposes, even if possibly expressed as different base types - for C type-checking purposes. */ -# define __OFF_T_MATCHES_OFF64_T 1 - -/* Same for ino_t and ino64_t. */ -# define __INO_T_MATCHES_INO64_T 1 - -/* And for __rlim_t and __rlim64_t. */ -# define __RLIM_T_MATCHES_RLIM64_T 1 - -/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ -# define __STATFS_MATCHES_STATFS64 1 - -/* And for getitimer, setitimer and rusage */ -# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 -#else -# define __RLIM_T_MATCHES_RLIM64_T 0 - -# define __STATFS_MATCHES_STATFS64 0 - -# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 -#endif - -/* Number of descriptors that can fit in an `fd_set'. */ -#define __FD_SETSIZE 1024 - - -#endif /* bits/typesizes.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@typesizes.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@typesizes.h.blob deleted file mode 100644 index 7d130cb..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@typesizes.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@uintn-identity.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@uintn-identity.h deleted file mode 100644 index 6eb4964..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@uintn-identity.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Inline functions to return unsigned integer values unchanged. - Copyright (C) 2017-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#if !defined _NETINET_IN_H && !defined _ENDIAN_H -# error "Never use directly; include or instead." -#endif - -#ifndef _BITS_UINTN_IDENTITY_H -#define _BITS_UINTN_IDENTITY_H 1 - -#include - -/* These inline functions are to ensure the appropriate type - conversions and associated diagnostics from macros that convert to - a given endianness. */ - -static __inline __uint16_t -__uint16_identity (__uint16_t __x) -{ - return __x; -} - -static __inline __uint32_t -__uint32_identity (__uint32_t __x) -{ - return __x; -} - -static __inline __uint64_t -__uint64_identity (__uint64_t __x) -{ - return __x; -} - -#endif /* _BITS_UINTN_IDENTITY_H. */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@uintn-identity.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@uintn-identity.h.blob deleted file mode 100644 index 4abba97..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@uintn-identity.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@unistd_ext.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@unistd_ext.h deleted file mode 100644 index ae99944..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@unistd_ext.h +++ /dev/null @@ -1,59 +0,0 @@ -/* System-specific extensions of , Linux version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _UNISTD_H -# error "Never include directly; use instead." -#endif - -#ifdef __USE_GNU - -/* Return the kernel thread ID (TID) of the current thread. The - returned value is not subject to caching. Most Linux system calls - accept a TID in place of a PID. Using the TID to change properties - of a thread that has been created using pthread_create can lead to - undefined behavior (comparable to manipulating file descriptors - directly that have not been created explicitly). Note that a TID - uniquely identifies a thread only while this thread is running; a - TID can be reused once a thread has exited, even if the thread is - not detached and has not been joined. */ -extern __pid_t gettid (void) __THROW; - -#ifdef __has_include -# if __has_include ("linux/close_range.h") -# include "linux/close_range.h" -# endif -#endif -/* Unshare the file descriptor table before closing file descriptors. */ -#ifndef CLOSE_RANGE_UNSHARE -# define CLOSE_RANGE_UNSHARE (1U << 1) -#endif -/* Set the FD_CLOEXEC bit instead of closing the file descriptor. */ -#ifndef CLOSE_RANGE_CLOEXEC -# define CLOSE_RANGE_CLOEXEC (1U << 2) -#endif - -/* Close all file descriptors in the range FD up to MAX_FD. The flag FLAGS - are define by the CLOSE_RANGE prefix. This function behaves like close - on the range, but in a fail-safe where it will either fail and not close - any file descriptor or close all of them. Gaps where the file descriptor - is invalid are ignored. Returns 0 on successor or -1 for failure (and - sets errno accordingly). */ -extern int close_range (unsigned int __fd, unsigned int __max_fd, - int __flags) __THROW; - -#endif /* __USE_GNU */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@unistd_ext.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@unistd_ext.h.blob deleted file mode 100644 index 12c9b38..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@unistd_ext.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitflags.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitflags.h deleted file mode 100644 index bf75ade..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitflags.h +++ /dev/null @@ -1,39 +0,0 @@ -/* Definitions of flag bits for `waitpid' et al. - Copyright (C) 1992-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#if !defined _SYS_WAIT_H && !defined _STDLIB_H -# error "Never include directly; use instead." -#endif - - -/* Bits in the third argument to `waitpid'. */ -#define WNOHANG 1 /* Don't block waiting. */ -#define WUNTRACED 2 /* Report status of stopped children. */ - -/* Bits in the fourth argument to `waitid'. */ -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -# define WSTOPPED 2 /* Report stopped child (same as WUNTRACED). */ -# define WEXITED 4 /* Report dead child. */ -# define WCONTINUED 8 /* Report continued child. */ -# define WNOWAIT 0x01000000 /* Don't reap, just poll status. */ -#endif - -#define __WNOTHREAD 0x20000000 /* Don't wait on children of other threads - in this group */ -#define __WALL 0x40000000 /* Wait for any child. */ -#define __WCLONE 0x80000000 /* Wait for cloned process. */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitflags.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitflags.h.blob deleted file mode 100644 index 6b39c27..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitflags.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitstatus.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitstatus.h deleted file mode 100644 index baaf96a..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitstatus.h +++ /dev/null @@ -1,59 +0,0 @@ -/* Definitions of status bits for `wait' et al. - Copyright (C) 1992-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#if !defined _SYS_WAIT_H && !defined _STDLIB_H -# error "Never include directly; use instead." -#endif - - -/* Everything extant so far uses these same bits. */ - - -/* If WIFEXITED(STATUS), the low-order 8 bits of the status. */ -#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8) - -/* If WIFSIGNALED(STATUS), the terminating signal. */ -#define __WTERMSIG(status) ((status) & 0x7f) - -/* If WIFSTOPPED(STATUS), the signal that stopped the child. */ -#define __WSTOPSIG(status) __WEXITSTATUS(status) - -/* Nonzero if STATUS indicates normal termination. */ -#define __WIFEXITED(status) (__WTERMSIG(status) == 0) - -/* Nonzero if STATUS indicates termination by a signal. */ -#define __WIFSIGNALED(status) \ - (((signed char) (((status) & 0x7f) + 1) >> 1) > 0) - -/* Nonzero if STATUS indicates the child is stopped. */ -#define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f) - -/* Nonzero if STATUS indicates the child continued after a stop. We only - define this if provides the WCONTINUED flag bit. */ -#ifdef WCONTINUED -# define __WIFCONTINUED(status) ((status) == __W_CONTINUED) -#endif - -/* Nonzero if STATUS indicates the child dumped core. */ -#define __WCOREDUMP(status) ((status) & __WCOREFLAG) - -/* Macros for constructing status values. */ -#define __W_EXITCODE(ret, sig) ((ret) << 8 | (sig)) -#define __W_STOPCODE(sig) ((sig) << 8 | 0x7f) -#define __W_CONTINUED 0xffff -#define __WCOREFLAG 0x80 diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitstatus.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitstatus.h.blob deleted file mode 100644 index 157d155..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitstatus.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wchar.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wchar.h deleted file mode 100644 index 36623e3..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wchar.h +++ /dev/null @@ -1,49 +0,0 @@ -/* wchar_t type related definitions. - Copyright (C) 2000-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_WCHAR_H -#define _BITS_WCHAR_H 1 - -/* The fallback definitions, for when __WCHAR_MAX__ or __WCHAR_MIN__ - are not defined, give the right value and type as long as both int - and wchar_t are 32-bit types. Adding L'\0' to a constant value - ensures that the type is correct; it is necessary to use (L'\0' + - 0) rather than just L'\0' so that the type in C++ is the promoted - version of wchar_t rather than the distinct wchar_t type itself. - Because wchar_t in preprocessor #if expressions is treated as - intmax_t or uintmax_t, the expression (L'\0' - 1) would have the - wrong value for WCHAR_MAX in such expressions and so cannot be used - to define __WCHAR_MAX in the unsigned case. */ - -#ifdef __WCHAR_MAX__ -# define __WCHAR_MAX __WCHAR_MAX__ -#elif L'\0' - 1 > 0 -# define __WCHAR_MAX (0xffffffffu + L'\0') -#else -# define __WCHAR_MAX (0x7fffffff + L'\0') -#endif - -#ifdef __WCHAR_MIN__ -# define __WCHAR_MIN __WCHAR_MIN__ -#elif L'\0' - 1 > 0 -# define __WCHAR_MIN (L'\0' + 0) -#else -# define __WCHAR_MIN (-__WCHAR_MAX - 1) -#endif - -#endif /* bits/wchar.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wchar.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wchar.h.blob deleted file mode 100644 index 05a3967..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wchar.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wordsize.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wordsize.h deleted file mode 100644 index 70f652b..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wordsize.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Determine the wordsize from the preprocessor defines. */ - -#if defined __x86_64__ && !defined __ILP32__ -# define __WORDSIZE 64 -#else -# define __WORDSIZE 32 -#define __WORDSIZE32_SIZE_ULONG 0 -#define __WORDSIZE32_PTRDIFF_LONG 0 -#endif - -#ifdef __x86_64__ -# define __WORDSIZE_TIME64_COMPAT32 1 -/* Both x86-64 and x32 use the 64-bit system call interface. */ -# define __SYSCALL_WORDSIZE 64 -#else -# define __WORDSIZE_TIME64_COMPAT32 0 -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wordsize.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wordsize.h.blob deleted file mode 100644 index b6083f8..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wordsize.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@ctype.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@ctype.h deleted file mode 100644 index 86f2bcc..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@ctype.h +++ /dev/null @@ -1,329 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * ISO C99 Standard 7.4: Character handling - */ - -#ifndef _CTYPE_H -#define _CTYPE_H 1 - -#include -#include - -__BEGIN_DECLS - -#ifndef _ISbit -/* These are all the characteristics of characters. - If there get to be more than 16 distinct characteristics, - many things must be changed that use `unsigned short int's. - - The characteristics are stored always in network byte order (big - endian). We define the bit value interpretations here dependent on the - machine's byte order. */ - -# include -# if __BYTE_ORDER == __BIG_ENDIAN -# define _ISbit(bit) (1 << (bit)) -# else /* __BYTE_ORDER == __LITTLE_ENDIAN */ -# define _ISbit(bit) ((bit) < 8 ? ((1 << (bit)) << 8) : ((1 << (bit)) >> 8)) -# endif - -enum -{ - _ISupper = _ISbit (0), /* UPPERCASE. */ - _ISlower = _ISbit (1), /* lowercase. */ - _ISalpha = _ISbit (2), /* Alphabetic. */ - _ISdigit = _ISbit (3), /* Numeric. */ - _ISxdigit = _ISbit (4), /* Hexadecimal numeric. */ - _ISspace = _ISbit (5), /* Whitespace. */ - _ISprint = _ISbit (6), /* Printing. */ - _ISgraph = _ISbit (7), /* Graphical. */ - _ISblank = _ISbit (8), /* Blank (usually SPC and TAB). */ - _IScntrl = _ISbit (9), /* Control character. */ - _ISpunct = _ISbit (10), /* Punctuation. */ - _ISalnum = _ISbit (11) /* Alphanumeric. */ -}; -#endif /* ! _ISbit */ - -/* These are defined in ctype-info.c. - The declarations here must match those in localeinfo.h. - - In the thread-specific locale model (see `uselocale' in ) - we cannot use global variables for these as was done in the past. - Instead, the following accessor functions return the address of - each variable, which is local to the current thread if multithreaded. - - These point into arrays of 384, so they can be indexed by any `unsigned - char' value [0,255]; by EOF (-1); or by any `signed char' value - [-128,-1). ISO C requires that the ctype functions work for `unsigned - char' values and for EOF; we also support negative `signed char' values - for broken old programs. The case conversion arrays are of `int's - rather than `unsigned char's because tolower (EOF) must be EOF, which - doesn't fit into an `unsigned char'. But today more important is that - the arrays are also used for multi-byte character sets. */ -extern const unsigned short int **__ctype_b_loc (void) - __THROW __attribute__ ((__const__)); -extern const __int32_t **__ctype_tolower_loc (void) - __THROW __attribute__ ((__const__)); -extern const __int32_t **__ctype_toupper_loc (void) - __THROW __attribute__ ((__const__)); - - -#ifndef __cplusplus -# define __isctype(c, type) \ - ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) -#elif defined __USE_EXTERN_INLINES -# define __isctype_f(type) \ - __extern_inline int \ - is##type (int __c) __THROW \ - { \ - return (*__ctype_b_loc ())[(int) (__c)] & (unsigned short int) _IS##type; \ - } -#endif - -#define __isascii(c) (((c) & ~0x7f) == 0) /* If C is a 7 bit value. */ -#define __toascii(c) ((c) & 0x7f) /* Mask off high bits. */ - -#define __exctype(name) extern int name (int) __THROW - -/* The following names are all functions: - int isCHARACTERISTIC(int c); - which return nonzero iff C has CHARACTERISTIC. - For the meaning of the characteristic names, see the `enum' above. */ -__exctype (isalnum); -__exctype (isalpha); -__exctype (iscntrl); -__exctype (isdigit); -__exctype (islower); -__exctype (isgraph); -__exctype (isprint); -__exctype (ispunct); -__exctype (isspace); -__exctype (isupper); -__exctype (isxdigit); - - -/* Return the lowercase version of C. */ -extern int tolower (int __c) __THROW; - -/* Return the uppercase version of C. */ -extern int toupper (int __c) __THROW; - - -/* ISO C99 introduced one new function. */ -#ifdef __USE_ISOC99 -__exctype (isblank); -#endif - -#ifdef __USE_GNU -/* Test C for a set of character classes according to MASK. */ -extern int isctype (int __c, int __mask) __THROW; -#endif - -#if defined __USE_MISC || defined __USE_XOPEN - -/* Return nonzero iff C is in the ASCII set - (i.e., is no more than 7 bits wide). */ -extern int isascii (int __c) __THROW; - -/* Return the part of C that is in the ASCII set - (i.e., the low-order 7 bits of C). */ -extern int toascii (int __c) __THROW; - -/* These are the same as `toupper' and `tolower' except that they do not - check the argument for being in the range of a `char'. */ -__exctype (_toupper); -__exctype (_tolower); -#endif /* Use X/Open or use misc. */ - -/* This code is needed for the optimized mapping functions. */ -#define __tobody(c, f, a, args) \ - (__extension__ \ - ({ int __res; \ - if (sizeof (c) > 1) \ - { \ - if (__builtin_constant_p (c)) \ - { \ - int __c = (c); \ - __res = __c < -128 || __c > 255 ? __c : (a)[__c]; \ - } \ - else \ - __res = f args; \ - } \ - else \ - __res = (a)[(int) (c)]; \ - __res; })) - -#if !defined __NO_CTYPE -# ifdef __isctype_f -__isctype_f (alnum) -__isctype_f (alpha) -__isctype_f (cntrl) -__isctype_f (digit) -__isctype_f (lower) -__isctype_f (graph) -__isctype_f (print) -__isctype_f (punct) -__isctype_f (space) -__isctype_f (upper) -__isctype_f (xdigit) -# ifdef __USE_ISOC99 -__isctype_f (blank) -# endif -# elif defined __isctype -# define isalnum(c) __isctype((c), _ISalnum) -# define isalpha(c) __isctype((c), _ISalpha) -# define iscntrl(c) __isctype((c), _IScntrl) -# define isdigit(c) __isctype((c), _ISdigit) -# define islower(c) __isctype((c), _ISlower) -# define isgraph(c) __isctype((c), _ISgraph) -# define isprint(c) __isctype((c), _ISprint) -# define ispunct(c) __isctype((c), _ISpunct) -# define isspace(c) __isctype((c), _ISspace) -# define isupper(c) __isctype((c), _ISupper) -# define isxdigit(c) __isctype((c), _ISxdigit) -# ifdef __USE_ISOC99 -# define isblank(c) __isctype((c), _ISblank) -# endif -# endif - -# ifdef __USE_EXTERN_INLINES -__extern_inline int -__NTH (tolower (int __c)) -{ - return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; -} - -__extern_inline int -__NTH (toupper (int __c)) -{ - return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; -} -# endif - -# if __GNUC__ >= 2 && defined __OPTIMIZE__ && !defined __cplusplus -# define tolower(c) __tobody (c, tolower, *__ctype_tolower_loc (), (c)) -# define toupper(c) __tobody (c, toupper, *__ctype_toupper_loc (), (c)) -# endif /* Optimizing gcc */ - -# if defined __USE_MISC || defined __USE_XOPEN -# define isascii(c) __isascii (c) -# define toascii(c) __toascii (c) - -# define _tolower(c) ((int) (*__ctype_tolower_loc ())[(int) (c)]) -# define _toupper(c) ((int) (*__ctype_toupper_loc ())[(int) (c)]) -# endif - -#endif /* Not __NO_CTYPE. */ - - -#ifdef __USE_XOPEN2K8 -/* POSIX.1-2008 extended locale interface (see locale.h). */ -# include - -/* These definitions are similar to the ones above but all functions - take as an argument a handle for the locale which shall be used. */ -# define __isctype_l(c, type, locale) \ - ((locale)->__ctype_b[(int) (c)] & (unsigned short int) type) - -# define __exctype_l(name) \ - extern int name (int, locale_t) __THROW - -/* The following names are all functions: - int isCHARACTERISTIC(int c, locale_t *locale); - which return nonzero iff C has CHARACTERISTIC. - For the meaning of the characteristic names, see the `enum' above. */ -__exctype_l (isalnum_l); -__exctype_l (isalpha_l); -__exctype_l (iscntrl_l); -__exctype_l (isdigit_l); -__exctype_l (islower_l); -__exctype_l (isgraph_l); -__exctype_l (isprint_l); -__exctype_l (ispunct_l); -__exctype_l (isspace_l); -__exctype_l (isupper_l); -__exctype_l (isxdigit_l); - -__exctype_l (isblank_l); - - -/* Return the lowercase version of C in locale L. */ -extern int __tolower_l (int __c, locale_t __l) __THROW; -extern int tolower_l (int __c, locale_t __l) __THROW; - -/* Return the uppercase version of C. */ -extern int __toupper_l (int __c, locale_t __l) __THROW; -extern int toupper_l (int __c, locale_t __l) __THROW; - -# if __GNUC__ >= 2 && defined __OPTIMIZE__ && !defined __cplusplus -# define __tolower_l(c, locale) \ - __tobody (c, __tolower_l, (locale)->__ctype_tolower, (c, locale)) -# define __toupper_l(c, locale) \ - __tobody (c, __toupper_l, (locale)->__ctype_toupper, (c, locale)) -# define tolower_l(c, locale) __tolower_l ((c), (locale)) -# define toupper_l(c, locale) __toupper_l ((c), (locale)) -# endif /* Optimizing gcc */ - - -# ifndef __NO_CTYPE -# define __isalnum_l(c,l) __isctype_l((c), _ISalnum, (l)) -# define __isalpha_l(c,l) __isctype_l((c), _ISalpha, (l)) -# define __iscntrl_l(c,l) __isctype_l((c), _IScntrl, (l)) -# define __isdigit_l(c,l) __isctype_l((c), _ISdigit, (l)) -# define __islower_l(c,l) __isctype_l((c), _ISlower, (l)) -# define __isgraph_l(c,l) __isctype_l((c), _ISgraph, (l)) -# define __isprint_l(c,l) __isctype_l((c), _ISprint, (l)) -# define __ispunct_l(c,l) __isctype_l((c), _ISpunct, (l)) -# define __isspace_l(c,l) __isctype_l((c), _ISspace, (l)) -# define __isupper_l(c,l) __isctype_l((c), _ISupper, (l)) -# define __isxdigit_l(c,l) __isctype_l((c), _ISxdigit, (l)) - -# define __isblank_l(c,l) __isctype_l((c), _ISblank, (l)) - -# ifdef __USE_MISC -# define __isascii_l(c,l) ((l), __isascii (c)) -# define __toascii_l(c,l) ((l), __toascii (c)) -# endif - -# define isalnum_l(c,l) __isalnum_l ((c), (l)) -# define isalpha_l(c,l) __isalpha_l ((c), (l)) -# define iscntrl_l(c,l) __iscntrl_l ((c), (l)) -# define isdigit_l(c,l) __isdigit_l ((c), (l)) -# define islower_l(c,l) __islower_l ((c), (l)) -# define isgraph_l(c,l) __isgraph_l ((c), (l)) -# define isprint_l(c,l) __isprint_l ((c), (l)) -# define ispunct_l(c,l) __ispunct_l ((c), (l)) -# define isspace_l(c,l) __isspace_l ((c), (l)) -# define isupper_l(c,l) __isupper_l ((c), (l)) -# define isxdigit_l(c,l) __isxdigit_l ((c), (l)) - -# define isblank_l(c,l) __isblank_l ((c), (l)) - -# ifdef __USE_MISC -# define isascii_l(c,l) __isascii_l ((c), (l)) -# define toascii_l(c,l) __toascii_l ((c), (l)) -# endif - -# endif /* Not __NO_CTYPE. */ - -#endif /* Use POSIX 2008. */ - -__END_DECLS - -#endif /* ctype.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@ctype.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@ctype.h.blob deleted file mode 100644 index b6ee42f..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@ctype.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@endian.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@endian.h deleted file mode 100644 index b8c5f7f..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@endian.h +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _ENDIAN_H -#define _ENDIAN_H 1 - -#include - -/* Get the definitions of __*_ENDIAN, __BYTE_ORDER, and __FLOAT_WORD_ORDER. */ -#include - -#ifdef __USE_MISC -# define LITTLE_ENDIAN __LITTLE_ENDIAN -# define BIG_ENDIAN __BIG_ENDIAN -# define PDP_ENDIAN __PDP_ENDIAN -# define BYTE_ORDER __BYTE_ORDER -#endif - -#if defined __USE_MISC && !defined __ASSEMBLER__ -/* Conversion interfaces. */ -# include -# include - -# if __BYTE_ORDER == __LITTLE_ENDIAN -# define htobe16(x) __bswap_16 (x) -# define htole16(x) __uint16_identity (x) -# define be16toh(x) __bswap_16 (x) -# define le16toh(x) __uint16_identity (x) - -# define htobe32(x) __bswap_32 (x) -# define htole32(x) __uint32_identity (x) -# define be32toh(x) __bswap_32 (x) -# define le32toh(x) __uint32_identity (x) - -# define htobe64(x) __bswap_64 (x) -# define htole64(x) __uint64_identity (x) -# define be64toh(x) __bswap_64 (x) -# define le64toh(x) __uint64_identity (x) - -# else -# define htobe16(x) __uint16_identity (x) -# define htole16(x) __bswap_16 (x) -# define be16toh(x) __uint16_identity (x) -# define le16toh(x) __bswap_16 (x) - -# define htobe32(x) __uint32_identity (x) -# define htole32(x) __bswap_32 (x) -# define be32toh(x) __uint32_identity (x) -# define le32toh(x) __bswap_32 (x) - -# define htobe64(x) __uint64_identity (x) -# define htole64(x) __bswap_64 (x) -# define be64toh(x) __uint64_identity (x) -# define le64toh(x) __bswap_64 (x) -# endif -#endif - -#endif /* endian.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@endian.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@endian.h.blob deleted file mode 100644 index e131589..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@endian.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@errno.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@errno.h deleted file mode 100644 index 336a37e..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@errno.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * ISO C99 Standard: 7.5 Errors - */ - -#ifndef _ERRNO_H -#define _ERRNO_H 1 - -#include - -/* The system-specific definitions of the E* constants, as macros. */ -#include - -/* When included from assembly language, this header only provides the - E* constants. */ -#ifndef __ASSEMBLER__ - -__BEGIN_DECLS - -/* The error code set by various library functions. */ -extern int *__errno_location (void) __THROW __attribute_const__; -# define errno (*__errno_location ()) - -# ifdef __USE_GNU - -/* The full and simple forms of the name with which the program was - invoked. These variables are set up automatically at startup based on - the value of argv[0]. */ -extern char *program_invocation_name; -extern char *program_invocation_short_name; - -#include - -# endif /* __USE_GNU */ - -__END_DECLS - -#endif /* !__ASSEMBLER__ */ -#endif /* errno.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@errno.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@errno.h.blob deleted file mode 100644 index 73b3639..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@errno.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@fcntl.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@fcntl.h deleted file mode 100644 index 1c96f98..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@fcntl.h +++ /dev/null @@ -1,347 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * POSIX Standard: 6.5 File Control Operations - */ - -#ifndef _FCNTL_H -#define _FCNTL_H 1 - -#include - -/* This must be early so can define types winningly. */ -__BEGIN_DECLS - -/* Get __mode_t, __dev_t and __off_t .*/ -#include - -/* Get the definitions of O_*, F_*, FD_*: all the - numbers and flag bits for `open', `fcntl', et al. */ -#include - -/* Detect if open needs mode as a third argument (or for openat as a fourth - argument). */ -#ifdef __O_TMPFILE -# define __OPEN_NEEDS_MODE(oflag) \ - (((oflag) & O_CREAT) != 0 || ((oflag) & __O_TMPFILE) == __O_TMPFILE) -#else -# define __OPEN_NEEDS_MODE(oflag) (((oflag) & O_CREAT) != 0) -#endif - -/* POSIX.1-2001 specifies that these types are defined by . - Earlier POSIX standards permitted any type ending in `_t' to be defined - by any POSIX header, so we don't conditionalize the definitions here. */ -#ifndef __mode_t_defined -typedef __mode_t mode_t; -# define __mode_t_defined -#endif - -#ifndef __off_t_defined -# ifndef __USE_FILE_OFFSET64 -typedef __off_t off_t; -# else -typedef __off64_t off_t; -# endif -# define __off_t_defined -#endif - -#if defined __USE_LARGEFILE64 && !defined __off64_t_defined -typedef __off64_t off64_t; -# define __off64_t_defined -#endif - -#ifndef __pid_t_defined -typedef __pid_t pid_t; -# define __pid_t_defined -#endif - -/* For XPG all symbols from should also be available. */ -#ifdef __USE_XOPEN2K8 -# include -#endif -#if defined __USE_XOPEN || defined __USE_XOPEN2K8 -# include - -# define S_IFMT __S_IFMT -# define S_IFDIR __S_IFDIR -# define S_IFCHR __S_IFCHR -# define S_IFBLK __S_IFBLK -# define S_IFREG __S_IFREG -# ifdef __S_IFIFO -# define S_IFIFO __S_IFIFO -# endif -# ifdef __S_IFLNK -# define S_IFLNK __S_IFLNK -# endif -# if (defined __USE_UNIX98 || defined __USE_XOPEN2K8) && defined __S_IFSOCK -# define S_IFSOCK __S_IFSOCK -# endif - -/* Protection bits. */ - -# define S_ISUID __S_ISUID /* Set user ID on execution. */ -# define S_ISGID __S_ISGID /* Set group ID on execution. */ - -# if defined __USE_MISC || defined __USE_XOPEN -/* Save swapped text after use (sticky bit). This is pretty well obsolete. */ -# define S_ISVTX __S_ISVTX -# endif - -# define S_IRUSR __S_IREAD /* Read by owner. */ -# define S_IWUSR __S_IWRITE /* Write by owner. */ -# define S_IXUSR __S_IEXEC /* Execute by owner. */ -/* Read, write, and execute by owner. */ -# define S_IRWXU (__S_IREAD|__S_IWRITE|__S_IEXEC) - -# define S_IRGRP (S_IRUSR >> 3) /* Read by group. */ -# define S_IWGRP (S_IWUSR >> 3) /* Write by group. */ -# define S_IXGRP (S_IXUSR >> 3) /* Execute by group. */ -/* Read, write, and execute by group. */ -# define S_IRWXG (S_IRWXU >> 3) - -# define S_IROTH (S_IRGRP >> 3) /* Read by others. */ -# define S_IWOTH (S_IWGRP >> 3) /* Write by others. */ -# define S_IXOTH (S_IXGRP >> 3) /* Execute by others. */ -/* Read, write, and execute by others. */ -# define S_IRWXO (S_IRWXG >> 3) -#endif - -#ifdef __USE_MISC -# ifndef R_OK /* Verbatim from . Ugh. */ -/* Values for the second argument to access. - These may be OR'd together. */ -# define R_OK 4 /* Test for read permission. */ -# define W_OK 2 /* Test for write permission. */ -# define X_OK 1 /* Test for execute permission. */ -# define F_OK 0 /* Test for existence. */ -# endif -#endif /* Use misc. */ - -/* XPG wants the following symbols. has the same definitions. */ -#if defined __USE_XOPEN || defined __USE_XOPEN2K8 -# define SEEK_SET 0 /* Seek from beginning of file. */ -# define SEEK_CUR 1 /* Seek from current position. */ -# define SEEK_END 2 /* Seek from end of file. */ -#endif /* XPG */ - -/* The constants AT_REMOVEDIR and AT_EACCESS have the same value. AT_EACCESS - is meaningful only to faccessat, while AT_REMOVEDIR is meaningful only to - unlinkat. The two functions do completely different things and therefore, - the flags can be allowed to overlap. For example, passing AT_REMOVEDIR to - faccessat would be undefined behavior and thus treating it equivalent to - AT_EACCESS is valid undefined behavior. */ -#ifdef __USE_ATFILE -# define AT_FDCWD -100 /* Special value used to indicate - the *at functions should use the - current working directory. */ -# define AT_SYMLINK_NOFOLLOW 0x100 /* Do not follow symbolic links. */ -# define AT_REMOVEDIR 0x200 /* Remove directory instead of - unlinking file. */ -# define AT_SYMLINK_FOLLOW 0x400 /* Follow symbolic links. */ -# ifdef __USE_GNU -# define AT_NO_AUTOMOUNT 0x800 /* Suppress terminal automount - traversal. */ -# define AT_EMPTY_PATH 0x1000 /* Allow empty relative pathname. */ -# define AT_STATX_SYNC_TYPE 0x6000 -# define AT_STATX_SYNC_AS_STAT 0x0000 -# define AT_STATX_FORCE_SYNC 0x2000 -# define AT_STATX_DONT_SYNC 0x4000 -# define AT_RECURSIVE 0x8000 /* Apply to the entire subtree. */ -# endif -# define AT_EACCESS 0x200 /* Test access permitted for - effective IDs, not real IDs. */ -#endif - -/* Do the file control operation described by CMD on FD. - The remaining arguments are interpreted depending on CMD. - - This function is a cancellation point and therefore not marked with - __THROW. */ -#ifndef __USE_TIME_BITS64 -# ifndef __USE_FILE_OFFSET64 -extern int fcntl (int __fd, int __cmd, ...); -# else -# ifdef __REDIRECT -extern int __REDIRECT (fcntl, (int __fd, int __cmd, ...), fcntl64); -# else -# define fcntl fcntl64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int fcntl64 (int __fd, int __cmd, ...); -# endif -#else /* __USE_TIME_BITS64 */ -# ifdef __REDIRECT -extern int __REDIRECT_NTH (fcntl, (int __fd, int __request, ...), - __fcntl_time64); -extern int __REDIRECT_NTH (fcntl64, (int __fd, int __request, ...), - __fcntl_time64); -# else -extern int __fcntl_time64 (int __fd, int __request, ...) __THROW; -# define fcntl64 __fcntl_time64 -# define fcntl __fcntl_time64 -# endif -#endif - -/* Open FILE and return a new file descriptor for it, or -1 on error. - OFLAG determines the type of access used. If O_CREAT or O_TMPFILE is set - in OFLAG, the third argument is taken as a `mode_t', the mode of the - created file. - - This function is a cancellation point and therefore not marked with - __THROW. */ -#ifndef __USE_FILE_OFFSET64 -extern int open (const char *__file, int __oflag, ...) __nonnull ((1)); -#else -# ifdef __REDIRECT -extern int __REDIRECT (open, (const char *__file, int __oflag, ...), open64) - __nonnull ((1)); -# else -# define open open64 -# endif -#endif -#ifdef __USE_LARGEFILE64 -extern int open64 (const char *__file, int __oflag, ...) __nonnull ((1)); -#endif - -#ifdef __USE_ATFILE -/* Similar to `open' but a relative path name is interpreted relative to - the directory for which FD is a descriptor. - - NOTE: some other `openat' implementation support additional functionality - through this interface, especially using the O_XATTR flag. This is not - yet supported here. - - This function is a cancellation point and therefore not marked with - __THROW. */ -# ifndef __USE_FILE_OFFSET64 -extern int openat (int __fd, const char *__file, int __oflag, ...) - __nonnull ((2)); -# else -# ifdef __REDIRECT -extern int __REDIRECT (openat, (int __fd, const char *__file, int __oflag, - ...), openat64) __nonnull ((2)); -# else -# define openat openat64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int openat64 (int __fd, const char *__file, int __oflag, ...) - __nonnull ((2)); -# endif -#endif - -/* Create and open FILE, with mode MODE. This takes an `int' MODE - argument because that is what `mode_t' will be widened to. - - This function is a cancellation point and therefore not marked with - __THROW. */ -#ifndef __USE_FILE_OFFSET64 -extern int creat (const char *__file, mode_t __mode) __nonnull ((1)); -#else -# ifdef __REDIRECT -extern int __REDIRECT (creat, (const char *__file, mode_t __mode), - creat64) __nonnull ((1)); -# else -# define creat creat64 -# endif -#endif -#ifdef __USE_LARGEFILE64 -extern int creat64 (const char *__file, mode_t __mode) __nonnull ((1)); -#endif - -#if !defined F_LOCK && (defined __USE_MISC || (defined __USE_XOPEN_EXTENDED \ - && !defined __USE_POSIX)) -/* NOTE: These declarations also appear in ; be sure to keep both - files consistent. Some systems have them there and some here, and some - software depends on the macros being defined without including both. */ - -/* `lockf' is a simpler interface to the locking facilities of `fcntl'. - LEN is always relative to the current file position. - The CMD argument is one of the following. */ - -# define F_ULOCK 0 /* Unlock a previously locked region. */ -# define F_LOCK 1 /* Lock a region for exclusive use. */ -# define F_TLOCK 2 /* Test and lock a region for exclusive use. */ -# define F_TEST 3 /* Test a region for other processes locks. */ - -# ifndef __USE_FILE_OFFSET64 -extern int lockf (int __fd, int __cmd, off_t __len); -# else -# ifdef __REDIRECT -extern int __REDIRECT (lockf, (int __fd, int __cmd, __off64_t __len), lockf64); -# else -# define lockf lockf64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int lockf64 (int __fd, int __cmd, off64_t __len); -# endif -#endif - -#ifdef __USE_XOPEN2K -/* Advice the system about the expected behaviour of the application with - respect to the file associated with FD. */ -# ifndef __USE_FILE_OFFSET64 -extern int posix_fadvise (int __fd, off_t __offset, off_t __len, - int __advise) __THROW; -# else - # ifdef __REDIRECT_NTH -extern int __REDIRECT_NTH (posix_fadvise, (int __fd, __off64_t __offset, - __off64_t __len, int __advise), - posix_fadvise64); -# else -# define posix_fadvise posix_fadvise64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int posix_fadvise64 (int __fd, off64_t __offset, off64_t __len, - int __advise) __THROW; -# endif - - -/* Reserve storage for the data of the file associated with FD. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -# ifndef __USE_FILE_OFFSET64 -extern int posix_fallocate (int __fd, off_t __offset, off_t __len); -# else - # ifdef __REDIRECT -extern int __REDIRECT (posix_fallocate, (int __fd, __off64_t __offset, - __off64_t __len), - posix_fallocate64); -# else -# define posix_fallocate posix_fallocate64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int posix_fallocate64 (int __fd, off64_t __offset, off64_t __len); -# endif -#endif - - -/* Define some inlines helping to catch common problems. */ -#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function \ - && defined __va_arg_pack_len -# include -#endif - -__END_DECLS - -#endif /* fcntl.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@fcntl.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@fcntl.h.blob deleted file mode 100644 index 0ca7bc4..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@fcntl.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features-time64.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features-time64.h deleted file mode 100644 index 1f786f9..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features-time64.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Features part to handle 64-bit time_t support. - Copyright (C) 2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* We need to know the word size in order to check the time size. */ -#include -#include - -#if defined _TIME_BITS -# if _TIME_BITS == 64 -# if ! defined (_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS != 64 -# error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" -# elif __TIMESIZE == 32 -# define __USE_TIME_BITS64 1 -# endif -# elif _TIME_BITS == 32 -# if __TIMESIZE > 32 -# error "_TIME_BITS=32 is not compatible with __TIMESIZE > 32" -# endif -# else -# error Invalid _TIME_BITS value (can only be 32 or 64-bit) -# endif -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features-time64.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features-time64.h.blob deleted file mode 100644 index 2a687d2..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features-time64.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features.h deleted file mode 100644 index 933499b..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features.h +++ /dev/null @@ -1,517 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _FEATURES_H -#define _FEATURES_H 1 - -/* These are defined by the user (or the compiler) - to specify the desired environment: - - __STRICT_ANSI__ ISO Standard C. - _ISOC99_SOURCE Extensions to ISO C89 from ISO C99. - _ISOC11_SOURCE Extensions to ISO C99 from ISO C11. - _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X. - __STDC_WANT_LIB_EXT2__ - Extensions to ISO C99 from TR 27431-2:2010. - __STDC_WANT_IEC_60559_BFP_EXT__ - Extensions to ISO C11 from TS 18661-1:2014. - __STDC_WANT_IEC_60559_FUNCS_EXT__ - Extensions to ISO C11 from TS 18661-4:2015. - __STDC_WANT_IEC_60559_TYPES_EXT__ - Extensions to ISO C11 from TS 18661-3:2015. - __STDC_WANT_IEC_60559_EXT__ - ISO C2X interfaces defined only in Annex F. - - _POSIX_SOURCE IEEE Std 1003.1. - _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2; - if >=199309L, add IEEE Std 1003.1b-1993; - if >=199506L, add IEEE Std 1003.1c-1995; - if >=200112L, all of IEEE 1003.1-2004 - if >=200809L, all of IEEE 1003.1-2008 - _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if - Single Unix conformance is wanted, to 600 for the - sixth revision, to 700 for the seventh revision. - _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions. - _LARGEFILE_SOURCE Some more functions for correct standard I/O. - _LARGEFILE64_SOURCE Additional functionality from LFS for large files. - _FILE_OFFSET_BITS=N Select default filesystem interface. - _ATFILE_SOURCE Additional *at interfaces. - _DYNAMIC_STACK_SIZE_SOURCE Select correct (but non compile-time constant) - MINSIGSTKSZ, SIGSTKSZ and PTHREAD_STACK_MIN. - _GNU_SOURCE All of the above, plus GNU extensions. - _DEFAULT_SOURCE The default set of features (taking precedence over - __STRICT_ANSI__). - - _FORTIFY_SOURCE Add security hardening to many library functions. - Set to 1 or 2; 2 performs stricter checks than 1. - - _REENTRANT, _THREAD_SAFE - Obsolete; equivalent to _POSIX_C_SOURCE=199506L. - - The `-ansi' switch to the GNU C compiler, and standards conformance - options such as `-std=c99', define __STRICT_ANSI__. If none of - these are defined, or if _DEFAULT_SOURCE is defined, the default is - to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to - 200809L, as well as enabling miscellaneous functions from BSD and - SVID. If more than one of these are defined, they accumulate. For - example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together - give you ISO C, 1003.1, and 1003.2, but nothing else. - - These are defined by this file and are used by the - header files to decide what to declare or define: - - __GLIBC_USE (F) Define things from feature set F. This is defined - to 1 or 0; the subsequent macros are either defined - or undefined, and those tests should be moved to - __GLIBC_USE. - __USE_ISOC11 Define ISO C11 things. - __USE_ISOC99 Define ISO C99 things. - __USE_ISOC95 Define ISO C90 AMD1 (C95) things. - __USE_ISOCXX11 Define ISO C++11 things. - __USE_POSIX Define IEEE Std 1003.1 things. - __USE_POSIX2 Define IEEE Std 1003.2 things. - __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things. - __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things. - __USE_XOPEN Define XPG things. - __USE_XOPEN_EXTENDED Define X/Open Unix things. - __USE_UNIX98 Define Single Unix V2 things. - __USE_XOPEN2K Define XPG6 things. - __USE_XOPEN2KXSI Define XPG6 XSI things. - __USE_XOPEN2K8 Define XPG7 things. - __USE_XOPEN2K8XSI Define XPG7 XSI things. - __USE_LARGEFILE Define correct standard I/O things. - __USE_LARGEFILE64 Define LFS things with separate names. - __USE_FILE_OFFSET64 Define 64bit interface as default. - __USE_MISC Define things from 4.3BSD or System V Unix. - __USE_ATFILE Define *at interfaces and AT_* constants for them. - __USE_DYNAMIC_STACK_SIZE Define correct (but non compile-time constant) - MINSIGSTKSZ, SIGSTKSZ and PTHREAD_STACK_MIN. - __USE_GNU Define GNU extensions. - __USE_FORTIFY_LEVEL Additional security measures used, according to level. - - The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are - defined by this file unconditionally. `__GNU_LIBRARY__' is provided - only for compatibility. All new code should use the other symbols - to test for features. - - All macros listed above as possibly being defined by this file are - explicitly undefined if they are not explicitly defined. - Feature-test macros that are not defined by the user or compiler - but are implied by the other feature-test macros defined (or by the - lack of any definitions) are defined by the file. - - ISO C feature test macros depend on the definition of the macro - when an affected header is included, not when the first system - header is included, and so they are handled in - , which does not have a multiple include - guard. Feature test macros that can be handled from the first - system header included are handled here. */ - - -/* Undefine everything, so we get a clean slate. */ -#undef __USE_ISOC11 -#undef __USE_ISOC99 -#undef __USE_ISOC95 -#undef __USE_ISOCXX11 -#undef __USE_POSIX -#undef __USE_POSIX2 -#undef __USE_POSIX199309 -#undef __USE_POSIX199506 -#undef __USE_XOPEN -#undef __USE_XOPEN_EXTENDED -#undef __USE_UNIX98 -#undef __USE_XOPEN2K -#undef __USE_XOPEN2KXSI -#undef __USE_XOPEN2K8 -#undef __USE_XOPEN2K8XSI -#undef __USE_LARGEFILE -#undef __USE_LARGEFILE64 -#undef __USE_FILE_OFFSET64 -#undef __USE_MISC -#undef __USE_ATFILE -#undef __USE_DYNAMIC_STACK_SIZE -#undef __USE_GNU -#undef __USE_FORTIFY_LEVEL -#undef __KERNEL_STRICT_NAMES -#undef __GLIBC_USE_ISOC2X -#undef __GLIBC_USE_DEPRECATED_GETS -#undef __GLIBC_USE_DEPRECATED_SCANF - -/* Suppress kernel-name space pollution unless user expressedly asks - for it. */ -#ifndef _LOOSE_KERNEL_NAMES -# define __KERNEL_STRICT_NAMES -#endif - -/* Convenience macro to test the version of gcc. - Use like this: - #if __GNUC_PREREQ (2,8) - ... code requiring gcc 2.8 or later ... - #endif - Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was - added in 2.0. */ -#if defined __GNUC__ && defined __GNUC_MINOR__ -# define __GNUC_PREREQ(maj, min) \ - ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) -#else -# define __GNUC_PREREQ(maj, min) 0 -#endif - -/* Similarly for clang. Features added to GCC after version 4.2 may - or may not also be available in clang, and clang's definitions of - __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such - features can be queried via __has_extension/__has_feature. */ -#if defined __clang_major__ && defined __clang_minor__ -# define __glibc_clang_prereq(maj, min) \ - ((__clang_major__ << 16) + __clang_minor__ >= ((maj) << 16) + (min)) -#else -# define __glibc_clang_prereq(maj, min) 0 -#endif - -/* Whether to use feature set F. */ -#define __GLIBC_USE(F) __GLIBC_USE_ ## F - -/* _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for - _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not - issue a warning; the expectation is that the source is being - transitioned to use the new macro. */ -#if (defined _BSD_SOURCE || defined _SVID_SOURCE) \ - && !defined _DEFAULT_SOURCE -# warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" -# undef _DEFAULT_SOURCE -# define _DEFAULT_SOURCE 1 -#endif - -/* If _GNU_SOURCE was defined by the user, turn on all the other features. */ -#ifdef _GNU_SOURCE -# undef _ISOC95_SOURCE -# define _ISOC95_SOURCE 1 -# undef _ISOC99_SOURCE -# define _ISOC99_SOURCE 1 -# undef _ISOC11_SOURCE -# define _ISOC11_SOURCE 1 -# undef _ISOC2X_SOURCE -# define _ISOC2X_SOURCE 1 -# undef _POSIX_SOURCE -# define _POSIX_SOURCE 1 -# undef _POSIX_C_SOURCE -# define _POSIX_C_SOURCE 200809L -# undef _XOPEN_SOURCE -# define _XOPEN_SOURCE 700 -# undef _XOPEN_SOURCE_EXTENDED -# define _XOPEN_SOURCE_EXTENDED 1 -# undef _LARGEFILE64_SOURCE -# define _LARGEFILE64_SOURCE 1 -# undef _DEFAULT_SOURCE -# define _DEFAULT_SOURCE 1 -# undef _ATFILE_SOURCE -# define _ATFILE_SOURCE 1 -# undef _DYNAMIC_STACK_SIZE_SOURCE -# define _DYNAMIC_STACK_SIZE_SOURCE 1 -#endif - -/* If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined, - define _DEFAULT_SOURCE. */ -#if (defined _DEFAULT_SOURCE \ - || (!defined __STRICT_ANSI__ \ - && !defined _ISOC99_SOURCE && !defined _ISOC11_SOURCE \ - && !defined _ISOC2X_SOURCE \ - && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE \ - && !defined _XOPEN_SOURCE)) -# undef _DEFAULT_SOURCE -# define _DEFAULT_SOURCE 1 -#endif - -/* This is to enable the ISO C2X extension. */ -#if (defined _ISOC2X_SOURCE \ - || (defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L)) -# define __GLIBC_USE_ISOC2X 1 -#else -# define __GLIBC_USE_ISOC2X 0 -#endif - -/* This is to enable the ISO C11 extension. */ -#if (defined _ISOC11_SOURCE || defined _ISOC2X_SOURCE \ - || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L)) -# define __USE_ISOC11 1 -#endif - -/* This is to enable the ISO C99 extension. */ -#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \ - || defined _ISOC2X_SOURCE \ - || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) -# define __USE_ISOC99 1 -#endif - -/* This is to enable the ISO C90 Amendment 1:1995 extension. */ -#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \ - || defined _ISOC2X_SOURCE \ - || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199409L)) -# define __USE_ISOC95 1 -#endif - -#ifdef __cplusplus -/* This is to enable compatibility for ISO C++17. */ -# if __cplusplus >= 201703L -# define __USE_ISOC11 1 -# endif -/* This is to enable compatibility for ISO C++11. - Check the temporary macro for now, too. */ -# if __cplusplus >= 201103L || defined __GXX_EXPERIMENTAL_CXX0X__ -# define __USE_ISOCXX11 1 -# define __USE_ISOC99 1 -# endif -#endif - -/* If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE - is defined, use POSIX.1-2008 (or another version depending on - _XOPEN_SOURCE). */ -#ifdef _DEFAULT_SOURCE -# if !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE -# define __USE_POSIX_IMPLICITLY 1 -# endif -# undef _POSIX_SOURCE -# define _POSIX_SOURCE 1 -# undef _POSIX_C_SOURCE -# define _POSIX_C_SOURCE 200809L -#endif - -#if ((!defined __STRICT_ANSI__ \ - || (defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 500)) \ - && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE) -# define _POSIX_SOURCE 1 -# if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 500 -# define _POSIX_C_SOURCE 2 -# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 600 -# define _POSIX_C_SOURCE 199506L -# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 700 -# define _POSIX_C_SOURCE 200112L -# else -# define _POSIX_C_SOURCE 200809L -# endif -# define __USE_POSIX_IMPLICITLY 1 -#endif - -/* Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be - defined in all multithreaded code. GNU libc has not required this - for many years. We now treat them as compatibility synonyms for - _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with - comprehensive support for multithreaded code. Using them never - lowers the selected level of POSIX conformance, only raises it. */ -#if ((!defined _POSIX_C_SOURCE || (_POSIX_C_SOURCE - 0) < 199506L) \ - && (defined _REENTRANT || defined _THREAD_SAFE)) -# define _POSIX_SOURCE 1 -# undef _POSIX_C_SOURCE -# define _POSIX_C_SOURCE 199506L -#endif - -#if (defined _POSIX_SOURCE \ - || (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 1) \ - || defined _XOPEN_SOURCE) -# define __USE_POSIX 1 -#endif - -#if defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 2 || defined _XOPEN_SOURCE -# define __USE_POSIX2 1 -#endif - -#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199309L -# define __USE_POSIX199309 1 -#endif - -#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199506L -# define __USE_POSIX199506 1 -#endif - -#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200112L -# define __USE_XOPEN2K 1 -# undef __USE_ISOC95 -# define __USE_ISOC95 1 -# undef __USE_ISOC99 -# define __USE_ISOC99 1 -#endif - -#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200809L -# define __USE_XOPEN2K8 1 -# undef _ATFILE_SOURCE -# define _ATFILE_SOURCE 1 -#endif - -#ifdef _XOPEN_SOURCE -# define __USE_XOPEN 1 -# if (_XOPEN_SOURCE - 0) >= 500 -# define __USE_XOPEN_EXTENDED 1 -# define __USE_UNIX98 1 -# undef _LARGEFILE_SOURCE -# define _LARGEFILE_SOURCE 1 -# if (_XOPEN_SOURCE - 0) >= 600 -# if (_XOPEN_SOURCE - 0) >= 700 -# define __USE_XOPEN2K8 1 -# define __USE_XOPEN2K8XSI 1 -# endif -# define __USE_XOPEN2K 1 -# define __USE_XOPEN2KXSI 1 -# undef __USE_ISOC95 -# define __USE_ISOC95 1 -# undef __USE_ISOC99 -# define __USE_ISOC99 1 -# endif -# else -# ifdef _XOPEN_SOURCE_EXTENDED -# define __USE_XOPEN_EXTENDED 1 -# endif -# endif -#endif - -#ifdef _LARGEFILE_SOURCE -# define __USE_LARGEFILE 1 -#endif - -#ifdef _LARGEFILE64_SOURCE -# define __USE_LARGEFILE64 1 -#endif - -#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64 -# define __USE_FILE_OFFSET64 1 -#endif - -#include - -#if defined _DEFAULT_SOURCE -# define __USE_MISC 1 -#endif - -#ifdef _ATFILE_SOURCE -# define __USE_ATFILE 1 -#endif - -#ifdef _DYNAMIC_STACK_SIZE_SOURCE -# define __USE_DYNAMIC_STACK_SIZE 1 -#endif - -#ifdef _GNU_SOURCE -# define __USE_GNU 1 -#endif - -#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 -# if !defined __OPTIMIZE__ || __OPTIMIZE__ <= 0 -# warning _FORTIFY_SOURCE requires compiling with optimization (-O) -# elif !__GNUC_PREREQ (4, 1) -# warning _FORTIFY_SOURCE requires GCC 4.1 or later -# elif _FORTIFY_SOURCE > 2 && (__glibc_clang_prereq (9, 0) \ - || __GNUC_PREREQ (12, 0)) - -# if _FORTIFY_SOURCE > 3 -# warning _FORTIFY_SOURCE > 3 is treated like 3 on this platform -# endif -# define __USE_FORTIFY_LEVEL 3 -# elif _FORTIFY_SOURCE > 1 -# if _FORTIFY_SOURCE > 2 -# warning _FORTIFY_SOURCE > 2 is treated like 2 on this platform -# endif -# define __USE_FORTIFY_LEVEL 2 -# else -# define __USE_FORTIFY_LEVEL 1 -# endif -#endif -#ifndef __USE_FORTIFY_LEVEL -# define __USE_FORTIFY_LEVEL 0 -#endif - -/* The function 'gets' existed in C89, but is impossible to use - safely. It has been removed from ISO C11 and ISO C++14. Note: for - compatibility with various implementations of , this test - must consider only the value of __cplusplus when compiling C++. */ -#if defined __cplusplus ? __cplusplus >= 201402L : defined __USE_ISOC11 -# define __GLIBC_USE_DEPRECATED_GETS 0 -#else -# define __GLIBC_USE_DEPRECATED_GETS 1 -#endif - -/* GNU formerly extended the scanf functions with modified format - specifiers %as, %aS, and %a[...] that allocate a buffer for the - input using malloc. This extension conflicts with ISO C99, which - defines %a as a standalone format specifier that reads a floating- - point number; moreover, POSIX.1-2008 provides the same feature - using the modifier letter 'm' instead (%ms, %mS, %m[...]). - - We now follow C99 unless GNU extensions are active and the compiler - is specifically in C89 or C++98 mode (strict or not). For - instance, with GCC, -std=gnu11 will have C99-compliant scanf with - or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the - old extension. */ -#if (defined __USE_GNU \ - && (defined __cplusplus \ - ? (__cplusplus < 201103L && !defined __GXX_EXPERIMENTAL_CXX0X__) \ - : (!defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L))) -# define __GLIBC_USE_DEPRECATED_SCANF 1 -#else -# define __GLIBC_USE_DEPRECATED_SCANF 0 -#endif - -/* Get definitions of __STDC_* predefined macros, if the compiler has - not preincluded this header automatically. */ -#include - -/* This macro indicates that the installed library is the GNU C Library. - For historic reasons the value now is 6 and this will stay from now - on. The use of this variable is deprecated. Use __GLIBC__ and - __GLIBC_MINOR__ now (see below) when you want to test for a specific - GNU C library version and use the values in to get - the sonames of the shared libraries. */ -#undef __GNU_LIBRARY__ -#define __GNU_LIBRARY__ 6 - -/* Major and minor version number of the GNU C library package. Use - these macros to test for features in specific releases. */ -#define __GLIBC__ 2 -#define __GLIBC_MINOR__ 34 - -#define __GLIBC_PREREQ(maj, min) \ - ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) - -/* This is here only because every header file already includes this one. */ -#ifndef __ASSEMBLER__ -# ifndef _SYS_CDEFS_H -# include -# endif - -/* If we don't have __REDIRECT, prototypes will be missing if - __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64]. */ -# if defined __USE_FILE_OFFSET64 && !defined __REDIRECT -# define __USE_LARGEFILE 1 -# define __USE_LARGEFILE64 1 -# endif - -#endif /* !ASSEMBLER */ - -/* Decide whether we can define 'extern inline' functions in headers. */ -#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \ - && !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__ \ - && defined __extern_inline -# define __USE_EXTERN_INLINES 1 -#endif - - -/* This is here only because every header file already includes this one. - Get the definitions of all the appropriate `__stub_FUNCTION' symbols. - contains `#define __stub_FUNCTION' when FUNCTION is a stub - that will always return failure (and set errno to ENOSYS). */ -#include - - -#endif /* features.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features.h.blob deleted file mode 100644 index 03f3310..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs-64.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs-64.h deleted file mode 100644 index b745721..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs-64.h +++ /dev/null @@ -1,17 +0,0 @@ -/* This file is automatically generated. - It defines a symbol `__stub_FUNCTION' for each function - in the C library which is a stub, meaning it will fail - every time called, usually setting errno to ENOSYS. */ - -#ifdef _LIBC - #error Applications may not define the macro _LIBC -#endif - -#define __stub___compat_bdflush -#define __stub_chflags -#define __stub_fchflags -#define __stub_gtty -#define __stub_revoke -#define __stub_setlogin -#define __stub_sigreturn -#define __stub_stty diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs-64.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs-64.h.blob deleted file mode 100644 index 0104d18..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs-64.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs.h deleted file mode 100644 index 70a1ba0..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs.h +++ /dev/null @@ -1,14 +0,0 @@ -/* This file is automatically generated. - This file selects the right generated file of `__stub_FUNCTION' macros - based on the architecture being compiled for. */ - - -#if !defined __x86_64__ -# include -#endif -#if defined __x86_64__ && defined __LP64__ -# include -#endif -#if defined __x86_64__ && defined __ILP32__ -# include -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs.h.blob deleted file mode 100644 index 7a5493e..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@limits.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@limits.h deleted file mode 100644 index c90a599..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@limits.h +++ /dev/null @@ -1,204 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types - */ - -#ifndef _LIBC_LIMITS_H_ -#define _LIBC_LIMITS_H_ 1 - -#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION -#include - - -/* Maximum length of any multibyte character in any locale. - We define this value here since the gcc header does not define - the correct value. */ -#define MB_LEN_MAX 16 - - -/* If we are not using GNU CC we have to define all the symbols ourself. - Otherwise use gcc's definitions (see below). */ -#if !defined __GNUC__ || __GNUC__ < 2 - -/* We only protect from multiple inclusion here, because all the other - #include's protect themselves, and in GCC 2 we may #include_next through - multiple copies of this file before we get to GCC's. */ -# ifndef _LIMITS_H -# define _LIMITS_H 1 - -#include - -/* We don't have #include_next. - Define ANSI for standard 32-bit words. */ - -/* These assume 8-bit `char's, 16-bit `short int's, - and 32-bit `int's and `long int's. */ - -/* Number of bits in a `char'. */ -# define CHAR_BIT 8 - -/* Minimum and maximum values a `signed char' can hold. */ -# define SCHAR_MIN (-128) -# define SCHAR_MAX 127 - -/* Maximum value an `unsigned char' can hold. (Minimum is 0.) */ -# define UCHAR_MAX 255 - -/* Minimum and maximum values a `char' can hold. */ -# ifdef __CHAR_UNSIGNED__ -# define CHAR_MIN 0 -# define CHAR_MAX UCHAR_MAX -# else -# define CHAR_MIN SCHAR_MIN -# define CHAR_MAX SCHAR_MAX -# endif - -/* Minimum and maximum values a `signed short int' can hold. */ -# define SHRT_MIN (-32768) -# define SHRT_MAX 32767 - -/* Maximum value an `unsigned short int' can hold. (Minimum is 0.) */ -# define USHRT_MAX 65535 - -/* Minimum and maximum values a `signed int' can hold. */ -# define INT_MIN (-INT_MAX - 1) -# define INT_MAX 2147483647 - -/* Maximum value an `unsigned int' can hold. (Minimum is 0.) */ -# define UINT_MAX 4294967295U - -/* Minimum and maximum values a `signed long int' can hold. */ -# if __WORDSIZE == 64 -# define LONG_MAX 9223372036854775807L -# else -# define LONG_MAX 2147483647L -# endif -# define LONG_MIN (-LONG_MAX - 1L) - -/* Maximum value an `unsigned long int' can hold. (Minimum is 0.) */ -# if __WORDSIZE == 64 -# define ULONG_MAX 18446744073709551615UL -# else -# define ULONG_MAX 4294967295UL -# endif - -# ifdef __USE_ISOC99 - -/* Minimum and maximum values a `signed long long int' can hold. */ -# define LLONG_MAX 9223372036854775807LL -# define LLONG_MIN (-LLONG_MAX - 1LL) - -/* Maximum value an `unsigned long long int' can hold. (Minimum is 0.) */ -# define ULLONG_MAX 18446744073709551615ULL - -# endif /* ISO C99 */ - -# endif /* limits.h */ -#endif /* GCC 2. */ - -#endif /* !_LIBC_LIMITS_H_ */ - - /* Get the compiler's limits.h, which defines almost all the ISO constants. - - We put this #include_next outside the double inclusion check because - it should be possible to include this file more than once and still get - the definitions from gcc's header. */ -#if defined __GNUC__ && !defined _GCC_LIMITS_H_ -/* `_GCC_LIMITS_H_' is what GCC's file defines. */ -# include_next -#endif - -/* The files in some gcc versions don't define LLONG_MIN, - LLONG_MAX, and ULLONG_MAX. Instead only the values gcc defined for - ages are available. */ -#if defined __USE_ISOC99 && defined __GNUC__ -# ifndef LLONG_MIN -# define LLONG_MIN (-LLONG_MAX-1) -# endif -# ifndef LLONG_MAX -# define LLONG_MAX __LONG_LONG_MAX__ -# endif -# ifndef ULLONG_MAX -# define ULLONG_MAX (LLONG_MAX * 2ULL + 1) -# endif -#endif - -/* The integer width macros are not defined by GCC's before - GCC 7, or if _GNU_SOURCE rather than - __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature. */ -#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) -# ifndef CHAR_WIDTH -# define CHAR_WIDTH 8 -# endif -# ifndef SCHAR_WIDTH -# define SCHAR_WIDTH 8 -# endif -# ifndef UCHAR_WIDTH -# define UCHAR_WIDTH 8 -# endif -# ifndef SHRT_WIDTH -# define SHRT_WIDTH 16 -# endif -# ifndef USHRT_WIDTH -# define USHRT_WIDTH 16 -# endif -# ifndef INT_WIDTH -# define INT_WIDTH 32 -# endif -# ifndef UINT_WIDTH -# define UINT_WIDTH 32 -# endif -# ifndef LONG_WIDTH -# define LONG_WIDTH __WORDSIZE -# endif -# ifndef ULONG_WIDTH -# define ULONG_WIDTH __WORDSIZE -# endif -# ifndef LLONG_WIDTH -# define LLONG_WIDTH 64 -# endif -# ifndef ULLONG_WIDTH -# define ULLONG_WIDTH 64 -# endif -#endif /* Use IEC_60559_BFP_EXT. */ - -/* The macros for _Bool are not defined by GCC's before GCC - 11, or if _GNU_SOURCE is defined rather than enabling C2x support - with -std. */ -#if __GLIBC_USE (ISOC2X) -# ifndef BOOL_MAX -# define BOOL_MAX 1 -# endif -# ifndef BOOL_WIDTH -# define BOOL_WIDTH 1 -# endif -#endif - -#ifdef __USE_POSIX -/* POSIX adds things to . */ -# include -#endif - -#ifdef __USE_POSIX2 -# include -#endif - -#ifdef __USE_XOPEN -# include -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@limits.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@limits.h.blob deleted file mode 100644 index fc6ee2e..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@limits.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pty.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pty.h deleted file mode 100644 index cdb4852..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pty.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Functions for pseudo TTY handling. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _PTY_H -#define _PTY_H 1 - -#include - -struct termios; -struct winsize; - -#include -#include - - -__BEGIN_DECLS - -/* Create pseudo tty master slave pair with NAME and set terminal - attributes according to TERMP and WINP and return handles for both - ends in AMASTER and ASLAVE. */ -extern int openpty (int *__amaster, int *__aslave, char *__name, - const struct termios *__termp, - const struct winsize *__winp) __THROW; - -/* Create child process and establish the slave pseudo terminal as the - child's controlling terminal. */ -extern int forkpty (int *__amaster, char *__name, - const struct termios *__termp, - const struct winsize *__winp) __THROW; - -__END_DECLS - -#endif /* pty.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pty.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pty.h.blob deleted file mode 100644 index e41d4d1..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pty.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pwd.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pwd.h deleted file mode 100644 index ec83c09..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pwd.h +++ /dev/null @@ -1,193 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * POSIX Standard: 9.2.2 User Database Access - */ - -#ifndef _PWD_H -#define _PWD_H 1 - -#include - -__BEGIN_DECLS - -#include - -#define __need_size_t -#include - -#if defined __USE_XOPEN || defined __USE_XOPEN2K -/* The Single Unix specification says that some more types are - available here. */ -# ifndef __gid_t_defined -typedef __gid_t gid_t; -# define __gid_t_defined -# endif - -# ifndef __uid_t_defined -typedef __uid_t uid_t; -# define __uid_t_defined -# endif -#endif - -/* A record in the user database. */ -struct passwd -{ - char *pw_name; /* Username. */ - char *pw_passwd; /* Hashed passphrase, if shadow database - not in use (see shadow.h). */ - __uid_t pw_uid; /* User ID. */ - __gid_t pw_gid; /* Group ID. */ - char *pw_gecos; /* Real name. */ - char *pw_dir; /* Home directory. */ - char *pw_shell; /* Shell program. */ -}; - - -#ifdef __USE_MISC -# include -#endif - - -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED -/* Rewind the user database stream. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern void setpwent (void); - -/* Close the user database stream. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern void endpwent (void); - -/* Read an entry from the user database stream, opening it if necessary. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern struct passwd *getpwent (void); -#endif - -#ifdef __USE_MISC -/* Read a user database entry from STREAM. - - This function is not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation it is a cancellation point and - therefore not marked with __THROW. */ -extern struct passwd *fgetpwent (FILE *__stream) __nonnull ((1)); - -/* Write a given user database entry onto the given stream. - - This function is not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation it is a cancellation point and - therefore not marked with __THROW. */ -extern int putpwent (const struct passwd *__restrict __p, - FILE *__restrict __f); -#endif - -/* Retrieve the user database entry for the given user ID. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern struct passwd *getpwuid (__uid_t __uid); - -/* Retrieve the user database entry for the given username. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern struct passwd *getpwnam (const char *__name) __nonnull ((1)); - -#ifdef __USE_POSIX - -# ifdef __USE_MISC -/* Reasonable value for the buffer sized used in the reentrant - functions below. But better use `sysconf'. */ -# define NSS_BUFLEN_PASSWD 1024 -# endif - -/* Reentrant versions of some of the functions above. - - PLEASE NOTE: the `getpwent_r' function is not (yet) standardized. - The interface may change in later versions of this library. But - the interface is designed following the principals used for the - other reentrant functions so the chances are good this is what the - POSIX people would choose. */ - -# ifdef __USE_MISC -/* This function is not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation it is a cancellation point and - therefore not marked with __THROW. */ -extern int getpwent_r (struct passwd *__restrict __resultbuf, - char *__restrict __buffer, size_t __buflen, - struct passwd **__restrict __result) - __nonnull ((1, 2, 4)) - __attr_access ((__write_only__, 2, 3)); -# endif - -extern int getpwuid_r (__uid_t __uid, - struct passwd *__restrict __resultbuf, - char *__restrict __buffer, size_t __buflen, - struct passwd **__restrict __result) - __nonnull ((2, 3, 5)) - __attr_access ((__write_only__, 3, 4)); - -extern int getpwnam_r (const char *__restrict __name, - struct passwd *__restrict __resultbuf, - char *__restrict __buffer, size_t __buflen, - struct passwd **__restrict __result) - __nonnull ((1, 2, 3, 5)) - __attr_access ((__write_only__, 3, 4)); - - -# ifdef __USE_MISC -/* Read a user database entry from STREAM. This function is not - standardized and probably never will. - - This function is not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation it is a cancellation point and - therefore not marked with __THROW. */ -extern int fgetpwent_r (FILE *__restrict __stream, - struct passwd *__restrict __resultbuf, - char *__restrict __buffer, size_t __buflen, - struct passwd **__restrict __result) - __nonnull ((1, 2, 3, 5)) - __attr_access ((__write_only__, 3, 4)); -# endif - -#endif /* POSIX or reentrant */ - -#ifdef __USE_GNU -/* Write a traditional /etc/passwd line, based on the user database - entry for the given UID, to BUFFER; space for BUFFER must be - allocated by the caller. - - This function is not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation it is a cancellation point and - therefore not marked with __THROW. */ -extern int getpw (__uid_t __uid, char *__buffer); -#endif - -__END_DECLS - -#endif /* pwd.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pwd.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pwd.h.blob deleted file mode 100644 index 6260718..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pwd.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@signal.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@signal.h deleted file mode 100644 index 5fd9338..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@signal.h +++ /dev/null @@ -1,395 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * ISO C99 Standard: 7.14 Signal handling - */ - -#ifndef _SIGNAL_H -#define _SIGNAL_H - -#include - -__BEGIN_DECLS - -#include -#include - -#include - -#if defined __USE_POSIX -#include -#endif - -#if defined __USE_XOPEN || defined __USE_XOPEN2K -# ifndef __pid_t_defined -typedef __pid_t pid_t; -# define __pid_t_defined -#endif -#ifdef __USE_XOPEN -# endif -# ifndef __uid_t_defined -typedef __uid_t uid_t; -# define __uid_t_defined -# endif -#endif /* Unix98 */ - -#ifdef __USE_POSIX199309 -/* We need `struct timespec' later on. */ -# include -#endif - -#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED -# include -# include -#endif - -#ifdef __USE_MISC -# include -#endif - -#ifdef __USE_POSIX199309 -# include -# include -#endif - - -/* Type of a signal handler. */ -typedef void (*__sighandler_t) (int); - -/* The X/Open definition of `signal' specifies the SVID semantic. Use - the additional function `sysv_signal' when X/Open compatibility is - requested. */ -extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) - __THROW; -#ifdef __USE_GNU -extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler) - __THROW; -#endif - -/* Set the handler for the signal SIG to HANDLER, returning the old - handler, or SIG_ERR on error. - By default `signal' has the BSD semantic. */ -#ifdef __USE_MISC -extern __sighandler_t signal (int __sig, __sighandler_t __handler) - __THROW; -#else -/* Make sure the used `signal' implementation is the SVID version. */ -# ifdef __REDIRECT_NTH -extern __sighandler_t __REDIRECT_NTH (signal, - (int __sig, __sighandler_t __handler), - __sysv_signal); -# else -# define signal __sysv_signal -# endif -#endif - -#if defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8 -/* The X/Open definition of `signal' conflicts with the BSD version. - So they defined another function `bsd_signal'. */ -extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler) - __THROW; -#endif - -/* Send signal SIG to process number PID. If PID is zero, - send SIG to all processes in the current process's process group. - If PID is < -1, send SIG to all processes in process group - PID. */ -#ifdef __USE_POSIX -extern int kill (__pid_t __pid, int __sig) __THROW; -#endif /* Use POSIX. */ - -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED -/* Send SIG to all processes in process group PGRP. - If PGRP is zero, send SIG to all processes in - the current process's process group. */ -extern int killpg (__pid_t __pgrp, int __sig) __THROW; -#endif /* Use misc || X/Open Unix. */ - -/* Raise signal SIG, i.e., send SIG to yourself. */ -extern int raise (int __sig) __THROW; - -#ifdef __USE_MISC -/* SVID names for the same things. */ -extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) - __THROW; -extern int gsignal (int __sig) __THROW; -#endif /* Use misc. */ - -#ifdef __USE_XOPEN2K8 -/* Print a message describing the meaning of the given signal number. */ -extern void psignal (int __sig, const char *__s); - -/* Print a message describing the meaning of the given signal information. */ -extern void psiginfo (const siginfo_t *__pinfo, const char *__s); -#endif /* POSIX 2008. */ - - - -/* The `sigpause' function in X/Open defines the argument as the - signal number. This requires redirecting to another function - because the default version in glibc uses an old BSD interface. - - This function is a cancellation point and therefore not marked with - __THROW. */ - -#ifdef __USE_XOPEN_EXTENDED -# ifdef __GNUC__ -extern int sigpause (int __sig) __asm__ ("__xpg_sigpause") - __attribute_deprecated_msg__ ("Use the sigsuspend function instead"); -# else -extern int __sigpause (int __sig_or_mask, int __is_sig); -/* Remove a signal from the signal mask and suspend the process. */ -# define sigpause(sig) __sigpause ((sig), 1) -# endif -#endif - - -#ifdef __USE_MISC -/* None of the following functions should be used anymore. They are here - only for compatibility. A single word (`int') is not guaranteed to be - enough to hold a complete signal mask and therefore these functions - simply do not work in many situations. Use `sigprocmask' instead. */ - -/* Compute mask for signal SIG. */ -# define sigmask(sig) \ - __glibc_macro_warning ("sigmask is deprecated") \ - ((int)(1u << ((sig) - 1))) - -/* Block signals in MASK, returning the old mask. */ -extern int sigblock (int __mask) __THROW __attribute_deprecated__; - -/* Set the mask of blocked signals to MASK, returning the old mask. */ -extern int sigsetmask (int __mask) __THROW __attribute_deprecated__; - -/* Return currently selected signal mask. */ -extern int siggetmask (void) __THROW __attribute_deprecated__; -#endif /* Use misc. */ - - -#ifdef __USE_MISC -# define NSIG _NSIG -#endif - -#ifdef __USE_GNU -typedef __sighandler_t sighandler_t; -#endif - -/* 4.4 BSD uses the name `sig_t' for this. */ -#ifdef __USE_MISC -typedef __sighandler_t sig_t; -#endif - -#ifdef __USE_POSIX - -/* Clear all signals from SET. */ -extern int sigemptyset (sigset_t *__set) __THROW __nonnull ((1)); - -/* Set all signals in SET. */ -extern int sigfillset (sigset_t *__set) __THROW __nonnull ((1)); - -/* Add SIGNO to SET. */ -extern int sigaddset (sigset_t *__set, int __signo) __THROW __nonnull ((1)); - -/* Remove SIGNO from SET. */ -extern int sigdelset (sigset_t *__set, int __signo) __THROW __nonnull ((1)); - -/* Return 1 if SIGNO is in SET, 0 if not. */ -extern int sigismember (const sigset_t *__set, int __signo) - __THROW __nonnull ((1)); - -# ifdef __USE_GNU -/* Return non-empty value is SET is not empty. */ -extern int sigisemptyset (const sigset_t *__set) __THROW __nonnull ((1)); - -/* Build new signal set by combining the two inputs set using logical AND. */ -extern int sigandset (sigset_t *__set, const sigset_t *__left, - const sigset_t *__right) __THROW __nonnull ((1, 2, 3)); - -/* Build new signal set by combining the two inputs set using logical OR. */ -extern int sigorset (sigset_t *__set, const sigset_t *__left, - const sigset_t *__right) __THROW __nonnull ((1, 2, 3)); -# endif /* GNU */ - -/* Get the system-specific definitions of `struct sigaction' - and the `SA_*' and `SIG_*'. constants. */ -# include - -/* Get and/or change the set of blocked signals. */ -extern int sigprocmask (int __how, const sigset_t *__restrict __set, - sigset_t *__restrict __oset) __THROW; - -/* Change the set of blocked signals to SET, - wait until a signal arrives, and restore the set of blocked signals. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern int sigsuspend (const sigset_t *__set) __nonnull ((1)); - -/* Get and/or set the action for signal SIG. */ -extern int sigaction (int __sig, const struct sigaction *__restrict __act, - struct sigaction *__restrict __oact) __THROW; - -/* Put in SET all signals that are blocked and waiting to be delivered. */ -extern int sigpending (sigset_t *__set) __THROW __nonnull ((1)); - - -# ifdef __USE_POSIX199506 -/* Select any of pending signals from SET or wait for any to arrive. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern int sigwait (const sigset_t *__restrict __set, int *__restrict __sig) - __nonnull ((1, 2)); -# endif /* Use POSIX 1995. */ - -# ifdef __USE_POSIX199309 -/* Select any of pending signals from SET and place information in INFO. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern int sigwaitinfo (const sigset_t *__restrict __set, - siginfo_t *__restrict __info) __nonnull ((1)); - -/* Select any of pending signals from SET and place information in INFO. - Wait the time specified by TIMEOUT if no signal is pending. - - This function is a cancellation point and therefore not marked with - __THROW. */ -# ifndef __USE_TIME_BITS64 -extern int sigtimedwait (const sigset_t *__restrict __set, - siginfo_t *__restrict __info, - const struct timespec *__restrict __timeout) - __nonnull ((1)); -# else -# ifdef __REDIRECT -extern int __REDIRECT (sigtimedwait, - (const sigset_t *__restrict __set, - siginfo_t *__restrict __info, - const struct timespec *__restrict __timeout), - __sigtimedwait64) - __nonnull ((1)); -# else -# define sigtimedwait __sigtimedwait64 -# endif -# endif - -/* Send signal SIG to the process PID. Associate data in VAL with the - signal. */ -extern int sigqueue (__pid_t __pid, int __sig, const union sigval __val) - __THROW; -# endif /* Use POSIX 199306. */ - -#endif /* Use POSIX. */ - -#ifdef __USE_MISC - -/* Get machine-dependent `struct sigcontext' and signal subcodes. */ -# include - -/* Restore the state saved in SCP. */ -extern int sigreturn (struct sigcontext *__scp) __THROW; - -#endif /* Use misc. */ - - -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -# define __need_size_t -# include - -# include -# if defined __USE_XOPEN || defined __USE_XOPEN2K8 -/* This will define `ucontext_t' and `mcontext_t'. */ -# include -# endif -#endif /* Use POSIX.1-2008 or X/Open Unix. */ - -#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC -/* If INTERRUPT is nonzero, make signal SIG interrupt system calls - (causing them to fail with EINTR); if INTERRUPT is zero, make system - calls be restarted after signal SIG. */ -extern int siginterrupt (int __sig, int __interrupt) __THROW - __attribute_deprecated_msg__ ("Use sigaction with SA_RESTART instead"); - -# include -# include -# include - -/* Alternate signal handler stack interface. - This interface should always be preferred over `sigstack'. */ -extern int sigaltstack (const stack_t *__restrict __ss, - stack_t *__restrict __oss) __THROW; -#endif /* __USE_XOPEN_EXTENDED || __USE_MISC */ - -#if ((defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) \ - || defined __USE_MISC) -# include -#endif - -#if ((defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K) \ - || defined __USE_MISC) -/* Run signals handlers on the stack specified by SS (if not NULL). - If OSS is not NULL, it is filled in with the old signal stack status. - This interface is obsolete and on many platform not implemented. */ -extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) - __THROW __attribute_deprecated__; -#endif - -#ifdef __USE_XOPEN_EXTENDED -/* Simplified interface for signal management. */ - -/* Add SIG to the calling process' signal mask. */ -extern int sighold (int __sig) __THROW - __attribute_deprecated_msg__ ("Use the sigprocmask function instead"); - -/* Remove SIG from the calling process' signal mask. */ -extern int sigrelse (int __sig) __THROW - __attribute_deprecated_msg__ ("Use the sigprocmask function instead"); - -/* Set the disposition of SIG to SIG_IGN. */ -extern int sigignore (int __sig) __THROW - __attribute_deprecated_msg__ ("Use the signal function instead"); - -/* Set the disposition of SIG. */ -extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __THROW - __attribute_deprecated_msg__ - ("Use the signal and sigprocmask functions instead"); -#endif - -#if defined __USE_POSIX199506 || defined __USE_UNIX98 -/* Some of the functions for handling signals in threaded programs must - be defined here. */ -# include -# include -#endif /* use Unix98 */ - -/* The following functions are used internally in the C library and in - other code which need deep insights. */ - -/* Return number of available real-time signal with highest priority. */ -extern int __libc_current_sigrtmin (void) __THROW; -/* Return number of available real-time signal with lowest priority. */ -extern int __libc_current_sigrtmax (void) __THROW; - -#define SIGRTMIN (__libc_current_sigrtmin ()) -#define SIGRTMAX (__libc_current_sigrtmax ()) - -/* System-specific extensions. */ -#include - -__END_DECLS - -#endif /* not signal.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@signal.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@signal.h.blob deleted file mode 100644 index 75d6ada..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@signal.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdc-predef.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdc-predef.h deleted file mode 100644 index e130c46..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdc-predef.h +++ /dev/null @@ -1,60 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _STDC_PREDEF_H -#define _STDC_PREDEF_H 1 - -/* This header is separate from features.h so that the compiler can - include it implicitly at the start of every compilation. It must - not itself include or any other header that includes - because the implicit include comes before any feature - test macros that may be defined in a source file before it first - explicitly includes a system header. GCC knows the name of this - header in order to preinclude it. */ - -/* glibc's intent is to support the IEC 559 math functionality, real - and complex. If the GCC (4.9 and later) predefined macros - specifying compiler intent are available, use them to determine - whether the overall intent is to support these features; otherwise, - presume an older compiler has intent to support these features and - define these macros by default. */ - -#ifdef __GCC_IEC_559 -# if __GCC_IEC_559 > 0 -# define __STDC_IEC_559__ 1 -# endif -#else -# define __STDC_IEC_559__ 1 -#endif - -#ifdef __GCC_IEC_559_COMPLEX -# if __GCC_IEC_559_COMPLEX > 0 -# define __STDC_IEC_559_COMPLEX__ 1 -# endif -#else -# define __STDC_IEC_559_COMPLEX__ 1 -#endif - -/* wchar_t uses Unicode 10.0.0. Version 10.0 of the Unicode Standard is - synchronized with ISO/IEC 10646:2017, fifth edition, plus - the following additions from Amendment 1 to the fifth edition: - - 56 emoji characters - - 285 hentaigana - - 3 additional Zanabazar Square characters */ -#define __STDC_ISO_10646__ 201706L - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdc-predef.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdc-predef.h.blob deleted file mode 100644 index 7bcf93a..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdc-predef.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdint.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdint.h deleted file mode 100644 index 30969f6..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdint.h +++ /dev/null @@ -1,319 +0,0 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * ISO C99: 7.18 Integer types - */ - -#ifndef _STDINT_H -#define _STDINT_H 1 - -#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION -#include -#include -#include -#include - -/* Exact integral types. */ - -/* Signed. */ -#include - -/* Unsigned. */ -#include - - -/* Small types. */ - -/* Signed. */ -typedef __int_least8_t int_least8_t; -typedef __int_least16_t int_least16_t; -typedef __int_least32_t int_least32_t; -typedef __int_least64_t int_least64_t; - -/* Unsigned. */ -typedef __uint_least8_t uint_least8_t; -typedef __uint_least16_t uint_least16_t; -typedef __uint_least32_t uint_least32_t; -typedef __uint_least64_t uint_least64_t; - - -/* Fast types. */ - -/* Signed. */ -typedef signed char int_fast8_t; -#if __WORDSIZE == 64 -typedef long int int_fast16_t; -typedef long int int_fast32_t; -typedef long int int_fast64_t; -#else -typedef int int_fast16_t; -typedef int int_fast32_t; -__extension__ -typedef long long int int_fast64_t; -#endif - -/* Unsigned. */ -typedef unsigned char uint_fast8_t; -#if __WORDSIZE == 64 -typedef unsigned long int uint_fast16_t; -typedef unsigned long int uint_fast32_t; -typedef unsigned long int uint_fast64_t; -#else -typedef unsigned int uint_fast16_t; -typedef unsigned int uint_fast32_t; -__extension__ -typedef unsigned long long int uint_fast64_t; -#endif - - -/* Types for `void *' pointers. */ -#if __WORDSIZE == 64 -# ifndef __intptr_t_defined -typedef long int intptr_t; -# define __intptr_t_defined -# endif -typedef unsigned long int uintptr_t; -#else -# ifndef __intptr_t_defined -typedef int intptr_t; -# define __intptr_t_defined -# endif -typedef unsigned int uintptr_t; -#endif - - -/* Largest integral types. */ -typedef __intmax_t intmax_t; -typedef __uintmax_t uintmax_t; - - -# if __WORDSIZE == 64 -# define __INT64_C(c) c ## L -# define __UINT64_C(c) c ## UL -# else -# define __INT64_C(c) c ## LL -# define __UINT64_C(c) c ## ULL -# endif - -/* Limits of integral types. */ - -/* Minimum of signed integral types. */ -# define INT8_MIN (-128) -# define INT16_MIN (-32767-1) -# define INT32_MIN (-2147483647-1) -# define INT64_MIN (-__INT64_C(9223372036854775807)-1) -/* Maximum of signed integral types. */ -# define INT8_MAX (127) -# define INT16_MAX (32767) -# define INT32_MAX (2147483647) -# define INT64_MAX (__INT64_C(9223372036854775807)) - -/* Maximum of unsigned integral types. */ -# define UINT8_MAX (255) -# define UINT16_MAX (65535) -# define UINT32_MAX (4294967295U) -# define UINT64_MAX (__UINT64_C(18446744073709551615)) - - -/* Minimum of signed integral types having a minimum size. */ -# define INT_LEAST8_MIN (-128) -# define INT_LEAST16_MIN (-32767-1) -# define INT_LEAST32_MIN (-2147483647-1) -# define INT_LEAST64_MIN (-__INT64_C(9223372036854775807)-1) -/* Maximum of signed integral types having a minimum size. */ -# define INT_LEAST8_MAX (127) -# define INT_LEAST16_MAX (32767) -# define INT_LEAST32_MAX (2147483647) -# define INT_LEAST64_MAX (__INT64_C(9223372036854775807)) - -/* Maximum of unsigned integral types having a minimum size. */ -# define UINT_LEAST8_MAX (255) -# define UINT_LEAST16_MAX (65535) -# define UINT_LEAST32_MAX (4294967295U) -# define UINT_LEAST64_MAX (__UINT64_C(18446744073709551615)) - - -/* Minimum of fast signed integral types having a minimum size. */ -# define INT_FAST8_MIN (-128) -# if __WORDSIZE == 64 -# define INT_FAST16_MIN (-9223372036854775807L-1) -# define INT_FAST32_MIN (-9223372036854775807L-1) -# else -# define INT_FAST16_MIN (-2147483647-1) -# define INT_FAST32_MIN (-2147483647-1) -# endif -# define INT_FAST64_MIN (-__INT64_C(9223372036854775807)-1) -/* Maximum of fast signed integral types having a minimum size. */ -# define INT_FAST8_MAX (127) -# if __WORDSIZE == 64 -# define INT_FAST16_MAX (9223372036854775807L) -# define INT_FAST32_MAX (9223372036854775807L) -# else -# define INT_FAST16_MAX (2147483647) -# define INT_FAST32_MAX (2147483647) -# endif -# define INT_FAST64_MAX (__INT64_C(9223372036854775807)) - -/* Maximum of fast unsigned integral types having a minimum size. */ -# define UINT_FAST8_MAX (255) -# if __WORDSIZE == 64 -# define UINT_FAST16_MAX (18446744073709551615UL) -# define UINT_FAST32_MAX (18446744073709551615UL) -# else -# define UINT_FAST16_MAX (4294967295U) -# define UINT_FAST32_MAX (4294967295U) -# endif -# define UINT_FAST64_MAX (__UINT64_C(18446744073709551615)) - - -/* Values to test for integral types holding `void *' pointer. */ -# if __WORDSIZE == 64 -# define INTPTR_MIN (-9223372036854775807L-1) -# define INTPTR_MAX (9223372036854775807L) -# define UINTPTR_MAX (18446744073709551615UL) -# else -# define INTPTR_MIN (-2147483647-1) -# define INTPTR_MAX (2147483647) -# define UINTPTR_MAX (4294967295U) -# endif - - -/* Minimum for largest signed integral type. */ -# define INTMAX_MIN (-__INT64_C(9223372036854775807)-1) -/* Maximum for largest signed integral type. */ -# define INTMAX_MAX (__INT64_C(9223372036854775807)) - -/* Maximum for largest unsigned integral type. */ -# define UINTMAX_MAX (__UINT64_C(18446744073709551615)) - - -/* Limits of other integer types. */ - -/* Limits of `ptrdiff_t' type. */ -# if __WORDSIZE == 64 -# define PTRDIFF_MIN (-9223372036854775807L-1) -# define PTRDIFF_MAX (9223372036854775807L) -# else -# if __WORDSIZE32_PTRDIFF_LONG -# define PTRDIFF_MIN (-2147483647L-1) -# define PTRDIFF_MAX (2147483647L) -# else -# define PTRDIFF_MIN (-2147483647-1) -# define PTRDIFF_MAX (2147483647) -# endif -# endif - -/* Limits of `sig_atomic_t'. */ -# define SIG_ATOMIC_MIN (-2147483647-1) -# define SIG_ATOMIC_MAX (2147483647) - -/* Limit of `size_t' type. */ -# if __WORDSIZE == 64 -# define SIZE_MAX (18446744073709551615UL) -# else -# if __WORDSIZE32_SIZE_ULONG -# define SIZE_MAX (4294967295UL) -# else -# define SIZE_MAX (4294967295U) -# endif -# endif - -/* Limits of `wchar_t'. */ -# ifndef WCHAR_MIN -/* These constants might also be defined in . */ -# define WCHAR_MIN __WCHAR_MIN -# define WCHAR_MAX __WCHAR_MAX -# endif - -/* Limits of `wint_t'. */ -# define WINT_MIN (0u) -# define WINT_MAX (4294967295u) - -/* Signed. */ -# define INT8_C(c) c -# define INT16_C(c) c -# define INT32_C(c) c -# if __WORDSIZE == 64 -# define INT64_C(c) c ## L -# else -# define INT64_C(c) c ## LL -# endif - -/* Unsigned. */ -# define UINT8_C(c) c -# define UINT16_C(c) c -# define UINT32_C(c) c ## U -# if __WORDSIZE == 64 -# define UINT64_C(c) c ## UL -# else -# define UINT64_C(c) c ## ULL -# endif - -/* Maximal type. */ -# if __WORDSIZE == 64 -# define INTMAX_C(c) c ## L -# define UINTMAX_C(c) c ## UL -# else -# define INTMAX_C(c) c ## LL -# define UINTMAX_C(c) c ## ULL -# endif - -#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) - -# define INT8_WIDTH 8 -# define UINT8_WIDTH 8 -# define INT16_WIDTH 16 -# define UINT16_WIDTH 16 -# define INT32_WIDTH 32 -# define UINT32_WIDTH 32 -# define INT64_WIDTH 64 -# define UINT64_WIDTH 64 - -# define INT_LEAST8_WIDTH 8 -# define UINT_LEAST8_WIDTH 8 -# define INT_LEAST16_WIDTH 16 -# define UINT_LEAST16_WIDTH 16 -# define INT_LEAST32_WIDTH 32 -# define UINT_LEAST32_WIDTH 32 -# define INT_LEAST64_WIDTH 64 -# define UINT_LEAST64_WIDTH 64 - -# define INT_FAST8_WIDTH 8 -# define UINT_FAST8_WIDTH 8 -# define INT_FAST16_WIDTH __WORDSIZE -# define UINT_FAST16_WIDTH __WORDSIZE -# define INT_FAST32_WIDTH __WORDSIZE -# define UINT_FAST32_WIDTH __WORDSIZE -# define INT_FAST64_WIDTH 64 -# define UINT_FAST64_WIDTH 64 - -# define INTPTR_WIDTH __WORDSIZE -# define UINTPTR_WIDTH __WORDSIZE - -# define INTMAX_WIDTH 64 -# define UINTMAX_WIDTH 64 - -# define PTRDIFF_WIDTH __WORDSIZE -# define SIG_ATOMIC_WIDTH 32 -# define SIZE_WIDTH __WORDSIZE -# define WCHAR_WIDTH 32 -# define WINT_WIDTH 32 - -#endif - -#endif /* stdint.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdint.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdint.h.blob deleted file mode 100644 index e907995..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdint.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdio.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdio.h deleted file mode 100644 index abefe64..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdio.h +++ /dev/null @@ -1,898 +0,0 @@ -/* Define ISO C stdio on top of C++ iostreams. - Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * ISO C99 Standard: 7.19 Input/output - */ - -#ifndef _STDIO_H -#define _STDIO_H 1 - -#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION -#include - -__BEGIN_DECLS - -#define __need_size_t -#define __need_NULL -#include - -#define __need___va_list -#include - -#include -#include -#include -#include -#include -#include - -#ifdef __USE_GNU -# include -#endif - -#if defined __USE_XOPEN || defined __USE_XOPEN2K8 -# ifdef __GNUC__ -# ifndef _VA_LIST_DEFINED -typedef __gnuc_va_list va_list; -# define _VA_LIST_DEFINED -# endif -# else -# include -# endif -#endif - -#if defined __USE_UNIX98 || defined __USE_XOPEN2K -# ifndef __off_t_defined -# ifndef __USE_FILE_OFFSET64 -typedef __off_t off_t; -# else -typedef __off64_t off_t; -# endif -# define __off_t_defined -# endif -# if defined __USE_LARGEFILE64 && !defined __off64_t_defined -typedef __off64_t off64_t; -# define __off64_t_defined -# endif -#endif - -#ifdef __USE_XOPEN2K8 -# ifndef __ssize_t_defined -typedef __ssize_t ssize_t; -# define __ssize_t_defined -# endif -#endif - -/* The type of the second argument to `fgetpos' and `fsetpos'. */ -#ifndef __USE_FILE_OFFSET64 -typedef __fpos_t fpos_t; -#else -typedef __fpos64_t fpos_t; -#endif -#ifdef __USE_LARGEFILE64 -typedef __fpos64_t fpos64_t; -#endif - -/* The possibilities for the third argument to `setvbuf'. */ -#define _IOFBF 0 /* Fully buffered. */ -#define _IOLBF 1 /* Line buffered. */ -#define _IONBF 2 /* No buffering. */ - - -/* Default buffer size. */ -#define BUFSIZ 8192 - - -/* The value returned by fgetc and similar functions to indicate the - end of the file. */ -#define EOF (-1) - - -/* The possibilities for the third argument to `fseek'. - These values should not be changed. */ -#define SEEK_SET 0 /* Seek from beginning of file. */ -#define SEEK_CUR 1 /* Seek from current position. */ -#define SEEK_END 2 /* Seek from end of file. */ -#ifdef __USE_GNU -# define SEEK_DATA 3 /* Seek to next data. */ -# define SEEK_HOLE 4 /* Seek to next hole. */ -#endif - - -#if defined __USE_MISC || defined __USE_XOPEN -/* Default path prefix for `tempnam' and `tmpnam'. */ -# define P_tmpdir "/tmp" -#endif - - -/* Get the values: - L_tmpnam How long an array of chars must be to be passed to `tmpnam'. - TMP_MAX The minimum number of unique filenames generated by tmpnam - (and tempnam when it uses tmpnam's name space), - or tempnam (the two are separate). - L_ctermid How long an array to pass to `ctermid'. - L_cuserid How long an array to pass to `cuserid'. - FOPEN_MAX Minimum number of files that can be open at once. - FILENAME_MAX Maximum length of a filename. */ -#include - - -/* Standard streams. */ -extern FILE *stdin; /* Standard input stream. */ -extern FILE *stdout; /* Standard output stream. */ -extern FILE *stderr; /* Standard error output stream. */ -/* C89/C99 say they're macros. Make them happy. */ -#define stdin stdin -#define stdout stdout -#define stderr stderr - -/* Remove file FILENAME. */ -extern int remove (const char *__filename) __THROW; -/* Rename file OLD to NEW. */ -extern int rename (const char *__old, const char *__new) __THROW; - -#ifdef __USE_ATFILE -/* Rename file OLD relative to OLDFD to NEW relative to NEWFD. */ -extern int renameat (int __oldfd, const char *__old, int __newfd, - const char *__new) __THROW; -#endif - -#ifdef __USE_GNU -/* Flags for renameat2. */ -# define RENAME_NOREPLACE (1 << 0) -# define RENAME_EXCHANGE (1 << 1) -# define RENAME_WHITEOUT (1 << 2) - -/* Rename file OLD relative to OLDFD to NEW relative to NEWFD, with - additional flags. */ -extern int renameat2 (int __oldfd, const char *__old, int __newfd, - const char *__new, unsigned int __flags) __THROW; -#endif - -/* Close STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fclose (FILE *__stream); - -#undef __attr_dealloc_fclose -#define __attr_dealloc_fclose __attr_dealloc (fclose, 1) - -/* Create a temporary file and open it read/write. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -#ifndef __USE_FILE_OFFSET64 -extern FILE *tmpfile (void) - __attribute_malloc__ __attr_dealloc_fclose __wur; -#else -# ifdef __REDIRECT -extern FILE *__REDIRECT (tmpfile, (void), tmpfile64) - __attribute_malloc__ __attr_dealloc_fclose __wur; -# else -# define tmpfile tmpfile64 -# endif -#endif - -#ifdef __USE_LARGEFILE64 -extern FILE *tmpfile64 (void) - __attribute_malloc__ __attr_dealloc_fclose __wur; -#endif - -/* Generate a temporary filename. */ -extern char *tmpnam (char[L_tmpnam]) __THROW __wur; - -#ifdef __USE_MISC -/* This is the reentrant variant of `tmpnam'. The only difference is - that it does not allow S to be NULL. */ -extern char *tmpnam_r (char __s[L_tmpnam]) __THROW __wur; -#endif - - -#if defined __USE_MISC || defined __USE_XOPEN -/* Generate a unique temporary filename using up to five characters of PFX - if it is not NULL. The directory to put this file in is searched for - as follows: First the environment variable "TMPDIR" is checked. - If it contains the name of a writable directory, that directory is used. - If not and if DIR is not NULL, that value is checked. If that fails, - P_tmpdir is tried and finally "/tmp". The storage for the filename - is allocated by `malloc'. */ -extern char *tempnam (const char *__dir, const char *__pfx) - __THROW __attribute_malloc__ __wur __attr_dealloc_free; -#endif - -/* Flush STREAM, or all streams if STREAM is NULL. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fflush (FILE *__stream); - -#ifdef __USE_MISC -/* Faster versions when locking is not required. - - This function is not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation it is a cancellation point and - therefore not marked with __THROW. */ -extern int fflush_unlocked (FILE *__stream); -#endif - -#ifdef __USE_GNU -/* Close all streams. - - This function is not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation it is a cancellation point and - therefore not marked with __THROW. */ -extern int fcloseall (void); -#endif - - -#ifndef __USE_FILE_OFFSET64 -/* Open a file and create a new stream for it. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern FILE *fopen (const char *__restrict __filename, - const char *__restrict __modes) - __attribute_malloc__ __attr_dealloc_fclose __wur; -/* Open a file, replacing an existing stream with it. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern FILE *freopen (const char *__restrict __filename, - const char *__restrict __modes, - FILE *__restrict __stream) __wur; -#else -# ifdef __REDIRECT -extern FILE *__REDIRECT (fopen, (const char *__restrict __filename, - const char *__restrict __modes), fopen64) - __attribute_malloc__ __attr_dealloc_fclose __wur; -extern FILE *__REDIRECT (freopen, (const char *__restrict __filename, - const char *__restrict __modes, - FILE *__restrict __stream), freopen64) - __wur; -# else -# define fopen fopen64 -# define freopen freopen64 -# endif -#endif -#ifdef __USE_LARGEFILE64 -extern FILE *fopen64 (const char *__restrict __filename, - const char *__restrict __modes) - __attribute_malloc__ __attr_dealloc_fclose __wur; -extern FILE *freopen64 (const char *__restrict __filename, - const char *__restrict __modes, - FILE *__restrict __stream) __wur; -#endif - -#ifdef __USE_POSIX -/* Create a new stream that refers to an existing system file descriptor. */ -extern FILE *fdopen (int __fd, const char *__modes) __THROW - __attribute_malloc__ __attr_dealloc_fclose __wur; -#endif - -#ifdef __USE_GNU -/* Create a new stream that refers to the given magic cookie, - and uses the given functions for input and output. */ -extern FILE *fopencookie (void *__restrict __magic_cookie, - const char *__restrict __modes, - cookie_io_functions_t __io_funcs) __THROW - __attribute_malloc__ __attr_dealloc_fclose __wur; -#endif - -#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) -/* Create a new stream that refers to a memory buffer. */ -extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) - __THROW __attribute_malloc__ __attr_dealloc_fclose __wur; - -/* Open a stream that writes into a malloc'd buffer that is expanded as - necessary. *BUFLOC and *SIZELOC are updated with the buffer's location - and the number of characters written on fflush or fclose. */ -extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __THROW - __attribute_malloc__ __attr_dealloc_fclose __wur; - -#ifdef _WCHAR_H -/* Like OPEN_MEMSTREAM, but the stream is wide oriented and produces - a wide character string. Declared here only to add attribute malloc - and only if has been previously #included. */ -extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) __THROW - __attribute_malloc__ __attr_dealloc_fclose; -# endif -#endif - -/* If BUF is NULL, make STREAM unbuffered. - Else make it use buffer BUF, of size BUFSIZ. */ -extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __THROW; -/* Make STREAM use buffering mode MODE. - If BUF is not NULL, use N bytes of it for buffering; - else allocate an internal buffer N bytes long. */ -extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, - int __modes, size_t __n) __THROW; - -#ifdef __USE_MISC -/* If BUF is NULL, make STREAM unbuffered. - Else make it use SIZE bytes of BUF for buffering. */ -extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, - size_t __size) __THROW; - -/* Make STREAM line-buffered. */ -extern void setlinebuf (FILE *__stream) __THROW; -#endif - - -/* Write formatted output to STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fprintf (FILE *__restrict __stream, - const char *__restrict __format, ...); -/* Write formatted output to stdout. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int printf (const char *__restrict __format, ...); -/* Write formatted output to S. */ -extern int sprintf (char *__restrict __s, - const char *__restrict __format, ...) __THROWNL; - -/* Write formatted output to S from argument list ARG. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg); -/* Write formatted output to stdout from argument list ARG. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); -/* Write formatted output to S from argument list ARG. */ -extern int vsprintf (char *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg) __THROWNL; - -#if defined __USE_ISOC99 || defined __USE_UNIX98 -/* Maximum chars of output to write in MAXLEN. */ -extern int snprintf (char *__restrict __s, size_t __maxlen, - const char *__restrict __format, ...) - __THROWNL __attribute__ ((__format__ (__printf__, 3, 4))); - -extern int vsnprintf (char *__restrict __s, size_t __maxlen, - const char *__restrict __format, __gnuc_va_list __arg) - __THROWNL __attribute__ ((__format__ (__printf__, 3, 0))); -#endif - -#if __GLIBC_USE (LIB_EXT2) -/* Write formatted output to a string dynamically allocated with `malloc'. - Store the address of the string in *PTR. */ -extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, - __gnuc_va_list __arg) - __THROWNL __attribute__ ((__format__ (__printf__, 2, 0))) __wur; -extern int __asprintf (char **__restrict __ptr, - const char *__restrict __fmt, ...) - __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur; -extern int asprintf (char **__restrict __ptr, - const char *__restrict __fmt, ...) - __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur; -#endif - -#ifdef __USE_XOPEN2K8 -/* Write formatted output to a file descriptor. */ -extern int vdprintf (int __fd, const char *__restrict __fmt, - __gnuc_va_list __arg) - __attribute__ ((__format__ (__printf__, 2, 0))); -extern int dprintf (int __fd, const char *__restrict __fmt, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -#endif - - -/* Read formatted input from STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fscanf (FILE *__restrict __stream, - const char *__restrict __format, ...) __wur; -/* Read formatted input from stdin. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int scanf (const char *__restrict __format, ...) __wur; -/* Read formatted input from S. */ -extern int sscanf (const char *__restrict __s, - const char *__restrict __format, ...) __THROW; - -/* For historical reasons, the C99-compliant versions of the scanf - functions are at alternative names. When __LDBL_COMPAT or - __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in - bits/stdio-ldbl.h. */ -#include -#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \ - && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 -# ifdef __REDIRECT -extern int __REDIRECT (fscanf, (FILE *__restrict __stream, - const char *__restrict __format, ...), - __isoc99_fscanf) __wur; -extern int __REDIRECT (scanf, (const char *__restrict __format, ...), - __isoc99_scanf) __wur; -extern int __REDIRECT_NTH (sscanf, (const char *__restrict __s, - const char *__restrict __format, ...), - __isoc99_sscanf); -# else -extern int __isoc99_fscanf (FILE *__restrict __stream, - const char *__restrict __format, ...) __wur; -extern int __isoc99_scanf (const char *__restrict __format, ...) __wur; -extern int __isoc99_sscanf (const char *__restrict __s, - const char *__restrict __format, ...) __THROW; -# define fscanf __isoc99_fscanf -# define scanf __isoc99_scanf -# define sscanf __isoc99_sscanf -# endif -#endif - -#ifdef __USE_ISOC99 -/* Read formatted input from S into argument list ARG. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg) - __attribute__ ((__format__ (__scanf__, 2, 0))) __wur; - -/* Read formatted input from stdin into argument list ARG. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) - __attribute__ ((__format__ (__scanf__, 1, 0))) __wur; - -/* Read formatted input from S into argument list ARG. */ -extern int vsscanf (const char *__restrict __s, - const char *__restrict __format, __gnuc_va_list __arg) - __THROW __attribute__ ((__format__ (__scanf__, 2, 0))); - -/* Same redirection as above for the v*scanf family. */ -# if !__GLIBC_USE (DEPRECATED_SCANF) -# if defined __REDIRECT && !defined __LDBL_COMPAT \ - && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 -extern int __REDIRECT (vfscanf, - (FILE *__restrict __s, - const char *__restrict __format, __gnuc_va_list __arg), - __isoc99_vfscanf) - __attribute__ ((__format__ (__scanf__, 2, 0))) __wur; -extern int __REDIRECT (vscanf, (const char *__restrict __format, - __gnuc_va_list __arg), __isoc99_vscanf) - __attribute__ ((__format__ (__scanf__, 1, 0))) __wur; -extern int __REDIRECT_NTH (vsscanf, - (const char *__restrict __s, - const char *__restrict __format, - __gnuc_va_list __arg), __isoc99_vsscanf) - __attribute__ ((__format__ (__scanf__, 2, 0))); -# elif !defined __REDIRECT -extern int __isoc99_vfscanf (FILE *__restrict __s, - const char *__restrict __format, - __gnuc_va_list __arg) __wur; -extern int __isoc99_vscanf (const char *__restrict __format, - __gnuc_va_list __arg) __wur; -extern int __isoc99_vsscanf (const char *__restrict __s, - const char *__restrict __format, - __gnuc_va_list __arg) __THROW; -# define vfscanf __isoc99_vfscanf -# define vscanf __isoc99_vscanf -# define vsscanf __isoc99_vsscanf -# endif -# endif -#endif /* Use ISO C9x. */ - - -/* Read a character from STREAM. - - These functions are possible cancellation points and therefore not - marked with __THROW. */ -extern int fgetc (FILE *__stream); -extern int getc (FILE *__stream); - -/* Read a character from stdin. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int getchar (void); - -#ifdef __USE_POSIX199506 -/* These are defined in POSIX.1:1996. - - These functions are possible cancellation points and therefore not - marked with __THROW. */ -extern int getc_unlocked (FILE *__stream); -extern int getchar_unlocked (void); -#endif /* Use POSIX. */ - -#ifdef __USE_MISC -/* Faster version when locking is not necessary. - - This function is not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation it is a cancellation point and - therefore not marked with __THROW. */ -extern int fgetc_unlocked (FILE *__stream); -#endif /* Use MISC. */ - - -/* Write a character to STREAM. - - These functions are possible cancellation points and therefore not - marked with __THROW. - - These functions is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fputc (int __c, FILE *__stream); -extern int putc (int __c, FILE *__stream); - -/* Write a character to stdout. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int putchar (int __c); - -#ifdef __USE_MISC -/* Faster version when locking is not necessary. - - This function is not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation it is a cancellation point and - therefore not marked with __THROW. */ -extern int fputc_unlocked (int __c, FILE *__stream); -#endif /* Use MISC. */ - -#ifdef __USE_POSIX199506 -/* These are defined in POSIX.1:1996. - - These functions are possible cancellation points and therefore not - marked with __THROW. */ -extern int putc_unlocked (int __c, FILE *__stream); -extern int putchar_unlocked (int __c); -#endif /* Use POSIX. */ - - -#if defined __USE_MISC \ - || (defined __USE_XOPEN && !defined __USE_XOPEN2K) -/* Get a word (int) from STREAM. */ -extern int getw (FILE *__stream); - -/* Write a word (int) to STREAM. */ -extern int putw (int __w, FILE *__stream); -#endif - - -/* Get a newline-terminated string of finite length from STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) - __wur __fortified_attr_access (__write_only__, 1, 2); - -#if __GLIBC_USE (DEPRECATED_GETS) -/* Get a newline-terminated string from stdin, removing the newline. - - This function is impossible to use safely. It has been officially - removed from ISO C11 and ISO C++14, and we have also removed it - from the _GNU_SOURCE feature list. It remains available when - explicitly using an old ISO C, Unix, or POSIX standard. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern char *gets (char *__s) __wur __attribute_deprecated__; -#endif - -#ifdef __USE_GNU -/* This function does the same as `fgets' but does not lock the stream. - - This function is not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation it is a cancellation point and - therefore not marked with __THROW. */ -extern char *fgets_unlocked (char *__restrict __s, int __n, - FILE *__restrict __stream) __wur - __fortified_attr_access (__write_only__, 1, 2); -#endif - - -#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) -/* Read up to (and including) a DELIMITER from STREAM into *LINEPTR - (and null-terminate it). *LINEPTR is a pointer returned from malloc (or - NULL), pointing to *N characters of space. It is realloc'd as - necessary. Returns the number of characters read (not including the - null terminator), or -1 on error or EOF. - - These functions are not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation they are cancellation points and - therefore not marked with __THROW. */ -extern __ssize_t __getdelim (char **__restrict __lineptr, - size_t *__restrict __n, int __delimiter, - FILE *__restrict __stream) __wur; -extern __ssize_t getdelim (char **__restrict __lineptr, - size_t *__restrict __n, int __delimiter, - FILE *__restrict __stream) __wur; - -/* Like `getdelim', but reads up to a newline. - - This function is not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation it is a cancellation point and - therefore not marked with __THROW. */ -extern __ssize_t getline (char **__restrict __lineptr, - size_t *__restrict __n, - FILE *__restrict __stream) __wur; -#endif - - -/* Write a string to STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fputs (const char *__restrict __s, FILE *__restrict __stream); - -/* Write a string, followed by a newline, to stdout. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int puts (const char *__s); - - -/* Push a character back onto the input buffer of STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int ungetc (int __c, FILE *__stream); - - -/* Read chunks of generic data from STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern size_t fread (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream) __wur; -/* Write chunks of generic data to STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern size_t fwrite (const void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __s); - -#ifdef __USE_GNU -/* This function does the same as `fputs' but does not lock the stream. - - This function is not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation it is a cancellation point and - therefore not marked with __THROW. */ -extern int fputs_unlocked (const char *__restrict __s, - FILE *__restrict __stream); -#endif - -#ifdef __USE_MISC -/* Faster versions when locking is not necessary. - - These functions are not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation they are cancellation points and - therefore not marked with __THROW. */ -extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream) __wur; -extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream); -#endif - - -/* Seek to a certain position on STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fseek (FILE *__stream, long int __off, int __whence); -/* Return the current position of STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern long int ftell (FILE *__stream) __wur; -/* Rewind to the beginning of STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern void rewind (FILE *__stream); - -/* The Single Unix Specification, Version 2, specifies an alternative, - more adequate interface for the two functions above which deal with - file offset. `long int' is not the right type. These definitions - are originally defined in the Large File Support API. */ - -#if defined __USE_LARGEFILE || defined __USE_XOPEN2K -# ifndef __USE_FILE_OFFSET64 -/* Seek to a certain position on STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fseeko (FILE *__stream, __off_t __off, int __whence); -/* Return the current position of STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern __off_t ftello (FILE *__stream) __wur; -# else -# ifdef __REDIRECT -extern int __REDIRECT (fseeko, - (FILE *__stream, __off64_t __off, int __whence), - fseeko64); -extern __off64_t __REDIRECT (ftello, (FILE *__stream), ftello64); -# else -# define fseeko fseeko64 -# define ftello ftello64 -# endif -# endif -#endif - -#ifndef __USE_FILE_OFFSET64 -/* Get STREAM's position. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); -/* Set STREAM's position. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fsetpos (FILE *__stream, const fpos_t *__pos); -#else -# ifdef __REDIRECT -extern int __REDIRECT (fgetpos, (FILE *__restrict __stream, - fpos_t *__restrict __pos), fgetpos64); -extern int __REDIRECT (fsetpos, - (FILE *__stream, const fpos_t *__pos), fsetpos64); -# else -# define fgetpos fgetpos64 -# define fsetpos fsetpos64 -# endif -#endif - -#ifdef __USE_LARGEFILE64 -extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); -extern __off64_t ftello64 (FILE *__stream) __wur; -extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); -extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos); -#endif - -/* Clear the error and EOF indicators for STREAM. */ -extern void clearerr (FILE *__stream) __THROW; -/* Return the EOF indicator for STREAM. */ -extern int feof (FILE *__stream) __THROW __wur; -/* Return the error indicator for STREAM. */ -extern int ferror (FILE *__stream) __THROW __wur; - -#ifdef __USE_MISC -/* Faster versions when locking is not required. */ -extern void clearerr_unlocked (FILE *__stream) __THROW; -extern int feof_unlocked (FILE *__stream) __THROW __wur; -extern int ferror_unlocked (FILE *__stream) __THROW __wur; -#endif - - -/* Print a message describing the meaning of the value of errno. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern void perror (const char *__s); - - -#ifdef __USE_POSIX -/* Return the system file descriptor for STREAM. */ -extern int fileno (FILE *__stream) __THROW __wur; -#endif /* Use POSIX. */ - -#ifdef __USE_MISC -/* Faster version when locking is not required. */ -extern int fileno_unlocked (FILE *__stream) __THROW __wur; -#endif - - -#ifdef __USE_POSIX2 -/* Close a stream opened by popen and return the status of its child. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int pclose (FILE *__stream); - -/* Create a new stream connected to a pipe running the given command. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern FILE *popen (const char *__command, const char *__modes) - __attribute_malloc__ __attr_dealloc (pclose, 1) __wur; - -#endif - - -#ifdef __USE_POSIX -/* Return the name of the controlling terminal. */ -extern char *ctermid (char *__s) __THROW - __attr_access ((__write_only__, 1)); -#endif /* Use POSIX. */ - - -#if (defined __USE_XOPEN && !defined __USE_XOPEN2K) || defined __USE_GNU -/* Return the name of the current user. */ -extern char *cuserid (char *__s) - __attr_access ((__write_only__, 1)); -#endif /* Use X/Open, but not issue 6. */ - - -#ifdef __USE_GNU -struct obstack; /* See . */ - -/* Write formatted output to an obstack. */ -extern int obstack_printf (struct obstack *__restrict __obstack, - const char *__restrict __format, ...) - __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))); -extern int obstack_vprintf (struct obstack *__restrict __obstack, - const char *__restrict __format, - __gnuc_va_list __args) - __THROWNL __attribute__ ((__format__ (__printf__, 2, 0))); -#endif /* Use GNU. */ - - -#ifdef __USE_POSIX199506 -/* These are defined in POSIX.1:1996. */ - -/* Acquire ownership of STREAM. */ -extern void flockfile (FILE *__stream) __THROW; - -/* Try to acquire ownership of STREAM but do not block if it is not - possible. */ -extern int ftrylockfile (FILE *__stream) __THROW __wur; - -/* Relinquish the ownership granted for STREAM. */ -extern void funlockfile (FILE *__stream) __THROW; -#endif /* POSIX */ - -#if defined __USE_XOPEN && !defined __USE_XOPEN2K && !defined __USE_GNU -/* X/Open Issues 1-5 required getopt to be declared in this - header. It was removed in Issue 6. GNU follows Issue 6. */ -# include -#endif - -/* Slow-path routines used by the optimized inline functions in - bits/stdio.h. */ -extern int __uflow (FILE *); -extern int __overflow (FILE *, int); - -/* If we are compiling with optimizing read this file. It contains - several optimizing inline functions and macros. */ -#ifdef __USE_EXTERN_INLINES -# include -#endif -#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function -# include -#endif - -#include -#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 -# include -#endif - -__END_DECLS - -#endif /* included. */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdio.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdio.h.blob deleted file mode 100644 index b455c1b..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdio.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdlib.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdlib.h deleted file mode 100644 index 74c00ee..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdlib.h +++ /dev/null @@ -1,1035 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * ISO C99 Standard: 7.20 General utilities - */ - -#ifndef _STDLIB_H - -#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION -#include - -/* Get size_t, wchar_t and NULL from . */ -#define __need_size_t -#define __need_wchar_t -#define __need_NULL -#include - -__BEGIN_DECLS - -#define _STDLIB_H 1 - -#if (defined __USE_XOPEN || defined __USE_XOPEN2K8) && !defined _SYS_WAIT_H -/* XPG requires a few symbols from being defined. */ -# include -# include - -/* Define the macros also would define this way. */ -# define WEXITSTATUS(status) __WEXITSTATUS (status) -# define WTERMSIG(status) __WTERMSIG (status) -# define WSTOPSIG(status) __WSTOPSIG (status) -# define WIFEXITED(status) __WIFEXITED (status) -# define WIFSIGNALED(status) __WIFSIGNALED (status) -# define WIFSTOPPED(status) __WIFSTOPPED (status) -# ifdef __WIFCONTINUED -# define WIFCONTINUED(status) __WIFCONTINUED (status) -# endif -#endif /* X/Open or XPG7 and not included. */ - -/* _FloatN API tests for enablement. */ -#include - -/* Returned by `div'. */ -typedef struct - { - int quot; /* Quotient. */ - int rem; /* Remainder. */ - } div_t; - -/* Returned by `ldiv'. */ -#ifndef __ldiv_t_defined -typedef struct - { - long int quot; /* Quotient. */ - long int rem; /* Remainder. */ - } ldiv_t; -# define __ldiv_t_defined 1 -#endif - -#if defined __USE_ISOC99 && !defined __lldiv_t_defined -/* Returned by `lldiv'. */ -__extension__ typedef struct - { - long long int quot; /* Quotient. */ - long long int rem; /* Remainder. */ - } lldiv_t; -# define __lldiv_t_defined 1 -#endif - - -/* The largest number rand will return (same as INT_MAX). */ -#define RAND_MAX 2147483647 - - -/* We define these the same for all machines. - Changes from this to the outside world should be done in `_exit'. */ -#define EXIT_FAILURE 1 /* Failing exit status. */ -#define EXIT_SUCCESS 0 /* Successful exit status. */ - - -/* Maximum length of a multibyte character in the current locale. */ -#define MB_CUR_MAX (__ctype_get_mb_cur_max ()) -extern size_t __ctype_get_mb_cur_max (void) __THROW __wur; - - -/* Convert a string to a floating-point number. */ -extern double atof (const char *__nptr) - __THROW __attribute_pure__ __nonnull ((1)) __wur; -/* Convert a string to an integer. */ -extern int atoi (const char *__nptr) - __THROW __attribute_pure__ __nonnull ((1)) __wur; -/* Convert a string to a long integer. */ -extern long int atol (const char *__nptr) - __THROW __attribute_pure__ __nonnull ((1)) __wur; - -#ifdef __USE_ISOC99 -/* Convert a string to a long long integer. */ -__extension__ extern long long int atoll (const char *__nptr) - __THROW __attribute_pure__ __nonnull ((1)) __wur; -#endif - -/* Convert a string to a floating-point number. */ -extern double strtod (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); - -#ifdef __USE_ISOC99 -/* Likewise for `float' and `long double' sizes of floating-point numbers. */ -extern float strtof (const char *__restrict __nptr, - char **__restrict __endptr) __THROW __nonnull ((1)); - -extern long double strtold (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); -#endif - -/* Likewise for '_FloatN' and '_FloatNx'. */ - -#if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern _Float16 strtof16 (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); -#endif - -#if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern _Float32 strtof32 (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); -#endif - -#if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern _Float64 strtof64 (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); -#endif - -#if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern _Float128 strtof128 (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); -#endif - -#if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern _Float32x strtof32x (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); -#endif - -#if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern _Float64x strtof64x (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); -#endif - -#if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern _Float128x strtof128x (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); -#endif - -/* Convert a string to a long integer. */ -extern long int strtol (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __THROW __nonnull ((1)); -/* Convert a string to an unsigned long integer. */ -extern unsigned long int strtoul (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __THROW __nonnull ((1)); - -#ifdef __USE_MISC -/* Convert a string to a quadword integer. */ -__extension__ -extern long long int strtoq (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __THROW __nonnull ((1)); -/* Convert a string to an unsigned quadword integer. */ -__extension__ -extern unsigned long long int strtouq (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __THROW __nonnull ((1)); -#endif /* Use misc. */ - -#ifdef __USE_ISOC99 -/* Convert a string to a quadword integer. */ -__extension__ -extern long long int strtoll (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __THROW __nonnull ((1)); -/* Convert a string to an unsigned quadword integer. */ -__extension__ -extern unsigned long long int strtoull (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __THROW __nonnull ((1)); -#endif /* ISO C99 or use MISC. */ - -/* Convert a floating-point number to a string. */ -#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) -extern int strfromd (char *__dest, size_t __size, const char *__format, - double __f) - __THROW __nonnull ((3)); - -extern int strfromf (char *__dest, size_t __size, const char *__format, - float __f) - __THROW __nonnull ((3)); - -extern int strfroml (char *__dest, size_t __size, const char *__format, - long double __f) - __THROW __nonnull ((3)); -#endif - -#if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern int strfromf16 (char *__dest, size_t __size, const char * __format, - _Float16 __f) - __THROW __nonnull ((3)); -#endif - -#if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern int strfromf32 (char *__dest, size_t __size, const char * __format, - _Float32 __f) - __THROW __nonnull ((3)); -#endif - -#if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern int strfromf64 (char *__dest, size_t __size, const char * __format, - _Float64 __f) - __THROW __nonnull ((3)); -#endif - -#if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern int strfromf128 (char *__dest, size_t __size, const char * __format, - _Float128 __f) - __THROW __nonnull ((3)); -#endif - -#if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern int strfromf32x (char *__dest, size_t __size, const char * __format, - _Float32x __f) - __THROW __nonnull ((3)); -#endif - -#if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern int strfromf64x (char *__dest, size_t __size, const char * __format, - _Float64x __f) - __THROW __nonnull ((3)); -#endif - -#if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern int strfromf128x (char *__dest, size_t __size, const char * __format, - _Float128x __f) - __THROW __nonnull ((3)); -#endif - - -#ifdef __USE_GNU -/* Parallel versions of the functions above which take the locale to - use as an additional parameter. These are GNU extensions inspired - by the POSIX.1-2008 extended locale API. */ -# include - -extern long int strtol_l (const char *__restrict __nptr, - char **__restrict __endptr, int __base, - locale_t __loc) __THROW __nonnull ((1, 4)); - -extern unsigned long int strtoul_l (const char *__restrict __nptr, - char **__restrict __endptr, - int __base, locale_t __loc) - __THROW __nonnull ((1, 4)); - -__extension__ -extern long long int strtoll_l (const char *__restrict __nptr, - char **__restrict __endptr, int __base, - locale_t __loc) - __THROW __nonnull ((1, 4)); - -__extension__ -extern unsigned long long int strtoull_l (const char *__restrict __nptr, - char **__restrict __endptr, - int __base, locale_t __loc) - __THROW __nonnull ((1, 4)); - -extern double strtod_l (const char *__restrict __nptr, - char **__restrict __endptr, locale_t __loc) - __THROW __nonnull ((1, 3)); - -extern float strtof_l (const char *__restrict __nptr, - char **__restrict __endptr, locale_t __loc) - __THROW __nonnull ((1, 3)); - -extern long double strtold_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - __THROW __nonnull ((1, 3)); - -# if __HAVE_FLOAT16 -extern _Float16 strtof16_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - __THROW __nonnull ((1, 3)); -# endif - -# if __HAVE_FLOAT32 -extern _Float32 strtof32_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - __THROW __nonnull ((1, 3)); -# endif - -# if __HAVE_FLOAT64 -extern _Float64 strtof64_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - __THROW __nonnull ((1, 3)); -# endif - -# if __HAVE_FLOAT128 -extern _Float128 strtof128_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - __THROW __nonnull ((1, 3)); -# endif - -# if __HAVE_FLOAT32X -extern _Float32x strtof32x_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - __THROW __nonnull ((1, 3)); -# endif - -# if __HAVE_FLOAT64X -extern _Float64x strtof64x_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - __THROW __nonnull ((1, 3)); -# endif - -# if __HAVE_FLOAT128X -extern _Float128x strtof128x_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - __THROW __nonnull ((1, 3)); -# endif -#endif /* GNU */ - - -#ifdef __USE_EXTERN_INLINES -__extern_inline int -__NTH (atoi (const char *__nptr)) -{ - return (int) strtol (__nptr, (char **) NULL, 10); -} -__extern_inline long int -__NTH (atol (const char *__nptr)) -{ - return strtol (__nptr, (char **) NULL, 10); -} - -# ifdef __USE_ISOC99 -__extension__ __extern_inline long long int -__NTH (atoll (const char *__nptr)) -{ - return strtoll (__nptr, (char **) NULL, 10); -} -# endif -#endif /* Optimizing and Inlining. */ - - -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED -/* Convert N to base 64 using the digits "./0-9A-Za-z", least-significant - digit first. Returns a pointer to static storage overwritten by the - next call. */ -extern char *l64a (long int __n) __THROW __wur; - -/* Read a number from a string S in base 64 as above. */ -extern long int a64l (const char *__s) - __THROW __attribute_pure__ __nonnull ((1)) __wur; - -#endif /* Use misc || extended X/Open. */ - -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED -# include /* we need int32_t... */ - -/* These are the functions that actually do things. The `random', `srandom', - `initstate' and `setstate' functions are those from BSD Unices. - The `rand' and `srand' functions are required by the ANSI standard. - We provide both interfaces to the same random number generator. */ -/* Return a random long integer between 0 and 2^31-1 inclusive. */ -extern long int random (void) __THROW; - -/* Seed the random number generator with the given number. */ -extern void srandom (unsigned int __seed) __THROW; - -/* Initialize the random number generator to use state buffer STATEBUF, - of length STATELEN, and seed it with SEED. Optimal lengths are 8, 16, - 32, 64, 128 and 256, the bigger the better; values less than 8 will - cause an error and values greater than 256 will be rounded down. */ -extern char *initstate (unsigned int __seed, char *__statebuf, - size_t __statelen) __THROW __nonnull ((2)); - -/* Switch the random number generator to state buffer STATEBUF, - which should have been previously initialized by `initstate'. */ -extern char *setstate (char *__statebuf) __THROW __nonnull ((1)); - - -# ifdef __USE_MISC -/* Reentrant versions of the `random' family of functions. - These functions all use the following data structure to contain - state, rather than global state variables. */ - -struct random_data - { - int32_t *fptr; /* Front pointer. */ - int32_t *rptr; /* Rear pointer. */ - int32_t *state; /* Array of state values. */ - int rand_type; /* Type of random number generator. */ - int rand_deg; /* Degree of random number generator. */ - int rand_sep; /* Distance between front and rear. */ - int32_t *end_ptr; /* Pointer behind state table. */ - }; - -extern int random_r (struct random_data *__restrict __buf, - int32_t *__restrict __result) __THROW __nonnull ((1, 2)); - -extern int srandom_r (unsigned int __seed, struct random_data *__buf) - __THROW __nonnull ((2)); - -extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, - size_t __statelen, - struct random_data *__restrict __buf) - __THROW __nonnull ((2, 4)); - -extern int setstate_r (char *__restrict __statebuf, - struct random_data *__restrict __buf) - __THROW __nonnull ((1, 2)); -# endif /* Use misc. */ -#endif /* Use extended X/Open || misc. */ - - -/* Return a random integer between 0 and RAND_MAX inclusive. */ -extern int rand (void) __THROW; -/* Seed the random number generator with the given number. */ -extern void srand (unsigned int __seed) __THROW; - -#ifdef __USE_POSIX199506 -/* Reentrant interface according to POSIX.1. */ -extern int rand_r (unsigned int *__seed) __THROW; -#endif - - -#if defined __USE_MISC || defined __USE_XOPEN -/* System V style 48-bit random number generator functions. */ - -/* Return non-negative, double-precision floating-point value in [0.0,1.0). */ -extern double drand48 (void) __THROW; -extern double erand48 (unsigned short int __xsubi[3]) __THROW __nonnull ((1)); - -/* Return non-negative, long integer in [0,2^31). */ -extern long int lrand48 (void) __THROW; -extern long int nrand48 (unsigned short int __xsubi[3]) - __THROW __nonnull ((1)); - -/* Return signed, long integers in [-2^31,2^31). */ -extern long int mrand48 (void) __THROW; -extern long int jrand48 (unsigned short int __xsubi[3]) - __THROW __nonnull ((1)); - -/* Seed random number generator. */ -extern void srand48 (long int __seedval) __THROW; -extern unsigned short int *seed48 (unsigned short int __seed16v[3]) - __THROW __nonnull ((1)); -extern void lcong48 (unsigned short int __param[7]) __THROW __nonnull ((1)); - -# ifdef __USE_MISC -/* Data structure for communication with thread safe versions. This - type is to be regarded as opaque. It's only exported because users - have to allocate objects of this type. */ -struct drand48_data - { - unsigned short int __x[3]; /* Current state. */ - unsigned short int __old_x[3]; /* Old state. */ - unsigned short int __c; /* Additive const. in congruential formula. */ - unsigned short int __init; /* Flag for initializing. */ - __extension__ unsigned long long int __a; /* Factor in congruential - formula. */ - }; - -/* Return non-negative, double-precision floating-point value in [0.0,1.0). */ -extern int drand48_r (struct drand48_data *__restrict __buffer, - double *__restrict __result) __THROW __nonnull ((1, 2)); -extern int erand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - double *__restrict __result) __THROW __nonnull ((1, 2)); - -/* Return non-negative, long integer in [0,2^31). */ -extern int lrand48_r (struct drand48_data *__restrict __buffer, - long int *__restrict __result) - __THROW __nonnull ((1, 2)); -extern int nrand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - long int *__restrict __result) - __THROW __nonnull ((1, 2)); - -/* Return signed, long integers in [-2^31,2^31). */ -extern int mrand48_r (struct drand48_data *__restrict __buffer, - long int *__restrict __result) - __THROW __nonnull ((1, 2)); -extern int jrand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - long int *__restrict __result) - __THROW __nonnull ((1, 2)); - -/* Seed random number generator. */ -extern int srand48_r (long int __seedval, struct drand48_data *__buffer) - __THROW __nonnull ((2)); - -extern int seed48_r (unsigned short int __seed16v[3], - struct drand48_data *__buffer) __THROW __nonnull ((1, 2)); - -extern int lcong48_r (unsigned short int __param[7], - struct drand48_data *__buffer) - __THROW __nonnull ((1, 2)); -# endif /* Use misc. */ -#endif /* Use misc or X/Open. */ - -/* Allocate SIZE bytes of memory. */ -extern void *malloc (size_t __size) __THROW __attribute_malloc__ - __attribute_alloc_size__ ((1)) __wur; -/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */ -extern void *calloc (size_t __nmemb, size_t __size) - __THROW __attribute_malloc__ __attribute_alloc_size__ ((1, 2)) __wur; - -/* Re-allocate the previously allocated block - in PTR, making the new block SIZE bytes long. */ -/* __attribute_malloc__ is not used, because if realloc returns - the same pointer that was passed to it, aliasing needs to be allowed - between objects pointed by the old and new pointers. */ -extern void *realloc (void *__ptr, size_t __size) - __THROW __attribute_warn_unused_result__ __attribute_alloc_size__ ((2)); - -/* Free a block allocated by `malloc', `realloc' or `calloc'. */ -extern void free (void *__ptr) __THROW; - -#ifdef __USE_MISC -/* Re-allocate the previously allocated block in PTR, making the new - block large enough for NMEMB elements of SIZE bytes each. */ -/* __attribute_malloc__ is not used, because if reallocarray returns - the same pointer that was passed to it, aliasing needs to be allowed - between objects pointed by the old and new pointers. */ -extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) - __THROW __attribute_warn_unused_result__ - __attribute_alloc_size__ ((2, 3)) - __attr_dealloc_free; - -/* Add reallocarray as its own deallocator. */ -extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) - __THROW __attr_dealloc (reallocarray, 1); -#endif - -#ifdef __USE_MISC -# include -#endif /* Use misc. */ - -#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K) \ - || defined __USE_MISC -/* Allocate SIZE bytes on a page boundary. The storage cannot be freed. */ -extern void *valloc (size_t __size) __THROW __attribute_malloc__ - __attribute_alloc_size__ ((1)) __wur; -#endif - -#ifdef __USE_XOPEN2K -/* Allocate memory of SIZE bytes with an alignment of ALIGNMENT. */ -extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) - __THROW __nonnull ((1)) __wur; -#endif - -#ifdef __USE_ISOC11 -/* ISO C variant of aligned allocation. */ -extern void *aligned_alloc (size_t __alignment, size_t __size) - __THROW __attribute_malloc__ __attribute_alloc_size__ ((2)) __wur; -#endif - -/* Abort execution and generate a core-dump. */ -extern void abort (void) __THROW __attribute__ ((__noreturn__)); - - -/* Register a function to be called when `exit' is called. */ -extern int atexit (void (*__func) (void)) __THROW __nonnull ((1)); - -#if defined __USE_ISOC11 || defined __USE_ISOCXX11 -/* Register a function to be called when `quick_exit' is called. */ -# ifdef __cplusplus -extern "C++" int at_quick_exit (void (*__func) (void)) - __THROW __asm ("at_quick_exit") __nonnull ((1)); -# else -extern int at_quick_exit (void (*__func) (void)) __THROW __nonnull ((1)); -# endif -#endif - -#ifdef __USE_MISC -/* Register a function to be called with the status - given to `exit' and the given argument. */ -extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) - __THROW __nonnull ((1)); -#endif - -/* Call all functions registered with `atexit' and `on_exit', - in the reverse of the order in which they were registered, - perform stdio cleanup, and terminate program execution with STATUS. */ -extern void exit (int __status) __THROW __attribute__ ((__noreturn__)); - -#if defined __USE_ISOC11 || defined __USE_ISOCXX11 -/* Call all functions registered with `at_quick_exit' in the reverse - of the order in which they were registered and terminate program - execution with STATUS. */ -extern void quick_exit (int __status) __THROW __attribute__ ((__noreturn__)); -#endif - -#ifdef __USE_ISOC99 -/* Terminate the program with STATUS without calling any of the - functions registered with `atexit' or `on_exit'. */ -extern void _Exit (int __status) __THROW __attribute__ ((__noreturn__)); -#endif - - -/* Return the value of envariable NAME, or NULL if it doesn't exist. */ -extern char *getenv (const char *__name) __THROW __nonnull ((1)) __wur; - -#ifdef __USE_GNU -/* This function is similar to the above but returns NULL if the - programs is running with SUID or SGID enabled. */ -extern char *secure_getenv (const char *__name) - __THROW __nonnull ((1)) __wur; -#endif - -#if defined __USE_MISC || defined __USE_XOPEN -/* The SVID says this is in , but this seems a better place. */ -/* Put STRING, which is of the form "NAME=VALUE", in the environment. - If there is no `=', remove NAME from the environment. */ -extern int putenv (char *__string) __THROW __nonnull ((1)); -#endif - -#ifdef __USE_XOPEN2K -/* Set NAME to VALUE in the environment. - If REPLACE is nonzero, overwrite an existing value. */ -extern int setenv (const char *__name, const char *__value, int __replace) - __THROW __nonnull ((2)); - -/* Remove the variable NAME from the environment. */ -extern int unsetenv (const char *__name) __THROW __nonnull ((1)); -#endif - -#ifdef __USE_MISC -/* The `clearenv' was planned to be added to POSIX.1 but probably - never made it. Nevertheless the POSIX.9 standard (POSIX bindings - for Fortran 77) requires this function. */ -extern int clearenv (void) __THROW; -#endif - - -#if defined __USE_MISC \ - || (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) -/* Generate a unique temporary file name from TEMPLATE. - The last six characters of TEMPLATE must be "XXXXXX"; - they are replaced with a string that makes the file name unique. - Always returns TEMPLATE, it's either a temporary file name or a null - string if it cannot get a unique file name. */ -extern char *mktemp (char *__template) __THROW __nonnull ((1)); -#endif - -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -/* Generate a unique temporary file name from TEMPLATE. - The last six characters of TEMPLATE must be "XXXXXX"; - they are replaced with a string that makes the filename unique. - Returns a file descriptor open on the file for reading and writing, - or -1 if it cannot create a uniquely-named file. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -# ifndef __USE_FILE_OFFSET64 -extern int mkstemp (char *__template) __nonnull ((1)) __wur; -# else -# ifdef __REDIRECT -extern int __REDIRECT (mkstemp, (char *__template), mkstemp64) - __nonnull ((1)) __wur; -# else -# define mkstemp mkstemp64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int mkstemp64 (char *__template) __nonnull ((1)) __wur; -# endif -#endif - -#ifdef __USE_MISC -/* Similar to mkstemp, but the template can have a suffix after the - XXXXXX. The length of the suffix is specified in the second - parameter. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -# ifndef __USE_FILE_OFFSET64 -extern int mkstemps (char *__template, int __suffixlen) __nonnull ((1)) __wur; -# else -# ifdef __REDIRECT -extern int __REDIRECT (mkstemps, (char *__template, int __suffixlen), - mkstemps64) __nonnull ((1)) __wur; -# else -# define mkstemps mkstemps64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int mkstemps64 (char *__template, int __suffixlen) - __nonnull ((1)) __wur; -# endif -#endif - -#ifdef __USE_XOPEN2K8 -/* Create a unique temporary directory from TEMPLATE. - The last six characters of TEMPLATE must be "XXXXXX"; - they are replaced with a string that makes the directory name unique. - Returns TEMPLATE, or a null pointer if it cannot get a unique name. - The directory is created mode 700. */ -extern char *mkdtemp (char *__template) __THROW __nonnull ((1)) __wur; -#endif - -#ifdef __USE_GNU -/* Generate a unique temporary file name from TEMPLATE similar to - mkstemp. But allow the caller to pass additional flags which are - used in the open call to create the file.. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -# ifndef __USE_FILE_OFFSET64 -extern int mkostemp (char *__template, int __flags) __nonnull ((1)) __wur; -# else -# ifdef __REDIRECT -extern int __REDIRECT (mkostemp, (char *__template, int __flags), mkostemp64) - __nonnull ((1)) __wur; -# else -# define mkostemp mkostemp64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int mkostemp64 (char *__template, int __flags) __nonnull ((1)) __wur; -# endif - -/* Similar to mkostemp, but the template can have a suffix after the - XXXXXX. The length of the suffix is specified in the second - parameter. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -# ifndef __USE_FILE_OFFSET64 -extern int mkostemps (char *__template, int __suffixlen, int __flags) - __nonnull ((1)) __wur; -# else -# ifdef __REDIRECT -extern int __REDIRECT (mkostemps, (char *__template, int __suffixlen, - int __flags), mkostemps64) - __nonnull ((1)) __wur; -# else -# define mkostemps mkostemps64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int mkostemps64 (char *__template, int __suffixlen, int __flags) - __nonnull ((1)) __wur; -# endif -#endif - - -/* Execute the given line as a shell command. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern int system (const char *__command) __wur; - - -#ifdef __USE_GNU -/* Return a malloc'd string containing the canonical absolute name of the - existing named file. */ -extern char *canonicalize_file_name (const char *__name) - __THROW __nonnull ((1)) __attribute_malloc__ - __attr_dealloc_free __wur; -#endif - -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED -/* Return the canonical absolute name of file NAME. If RESOLVED is - null, the result is malloc'd; otherwise, if the canonical name is - PATH_MAX chars or more, returns null with `errno' set to - ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars, - returns the name in RESOLVED. */ -extern char *realpath (const char *__restrict __name, - char *__restrict __resolved) __THROW __wur; -#endif - - -/* Shorthand for type of comparison functions. */ -#ifndef __COMPAR_FN_T -# define __COMPAR_FN_T -typedef int (*__compar_fn_t) (const void *, const void *); - -# ifdef __USE_GNU -typedef __compar_fn_t comparison_fn_t; -# endif -#endif -#ifdef __USE_GNU -typedef int (*__compar_d_fn_t) (const void *, const void *, void *); -#endif - -/* Do a binary search for KEY in BASE, which consists of NMEMB elements - of SIZE bytes each, using COMPAR to perform the comparisons. */ -extern void *bsearch (const void *__key, const void *__base, - size_t __nmemb, size_t __size, __compar_fn_t __compar) - __nonnull ((1, 2, 5)) __wur; - -#ifdef __USE_EXTERN_INLINES -# include -#endif - -/* Sort NMEMB elements of BASE, of SIZE bytes each, - using COMPAR to perform the comparisons. */ -extern void qsort (void *__base, size_t __nmemb, size_t __size, - __compar_fn_t __compar) __nonnull ((1, 4)); -#ifdef __USE_GNU -extern void qsort_r (void *__base, size_t __nmemb, size_t __size, - __compar_d_fn_t __compar, void *__arg) - __nonnull ((1, 4)); -#endif - - -/* Return the absolute value of X. */ -extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur; -extern long int labs (long int __x) __THROW __attribute__ ((__const__)) __wur; - -#ifdef __USE_ISOC99 -__extension__ extern long long int llabs (long long int __x) - __THROW __attribute__ ((__const__)) __wur; -#endif - - -/* Return the `div_t', `ldiv_t' or `lldiv_t' representation - of the value of NUMER over DENOM. */ -/* GCC may have built-ins for these someday. */ -extern div_t div (int __numer, int __denom) - __THROW __attribute__ ((__const__)) __wur; -extern ldiv_t ldiv (long int __numer, long int __denom) - __THROW __attribute__ ((__const__)) __wur; - -#ifdef __USE_ISOC99 -__extension__ extern lldiv_t lldiv (long long int __numer, - long long int __denom) - __THROW __attribute__ ((__const__)) __wur; -#endif - - -#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) \ - || defined __USE_MISC -/* Convert floating point numbers to strings. The returned values are - valid only until another call to the same function. */ - -/* Convert VALUE to a string with NDIGIT digits and return a pointer to - this. Set *DECPT with the position of the decimal character and *SIGN - with the sign of the number. */ -extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign) __THROW __nonnull ((3, 4)) __wur; - -/* Convert VALUE to a string rounded to NDIGIT decimal digits. Set *DECPT - with the position of the decimal character and *SIGN with the sign of - the number. */ -extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign) __THROW __nonnull ((3, 4)) __wur; - -/* If possible convert VALUE to a string with NDIGIT significant digits. - Otherwise use exponential representation. The resulting string will - be written to BUF. */ -extern char *gcvt (double __value, int __ndigit, char *__buf) - __THROW __nonnull ((3)) __wur; -#endif - -#ifdef __USE_MISC -/* Long double versions of above functions. */ -extern char *qecvt (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign) - __THROW __nonnull ((3, 4)) __wur; -extern char *qfcvt (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign) - __THROW __nonnull ((3, 4)) __wur; -extern char *qgcvt (long double __value, int __ndigit, char *__buf) - __THROW __nonnull ((3)) __wur; - - -/* Reentrant version of the functions above which provide their own - buffers. */ -extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign, char *__restrict __buf, - size_t __len) __THROW __nonnull ((3, 4, 5)); -extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign, char *__restrict __buf, - size_t __len) __THROW __nonnull ((3, 4, 5)); - -extern int qecvt_r (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign, - char *__restrict __buf, size_t __len) - __THROW __nonnull ((3, 4, 5)); -extern int qfcvt_r (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign, - char *__restrict __buf, size_t __len) - __THROW __nonnull ((3, 4, 5)); -#endif /* misc */ - - -/* Return the length of the multibyte character - in S, which is no longer than N. */ -extern int mblen (const char *__s, size_t __n) __THROW; -/* Return the length of the given multibyte character, - putting its `wchar_t' representation in *PWC. */ -extern int mbtowc (wchar_t *__restrict __pwc, - const char *__restrict __s, size_t __n) __THROW; -/* Put the multibyte character represented - by WCHAR in S, returning its length. */ -extern int wctomb (char *__s, wchar_t __wchar) __THROW; - - -/* Convert a multibyte string to a wide char string. */ -extern size_t mbstowcs (wchar_t *__restrict __pwcs, - const char *__restrict __s, size_t __n) __THROW - __attr_access ((__read_only__, 2)); -/* Convert a wide char string to multibyte string. */ -extern size_t wcstombs (char *__restrict __s, - const wchar_t *__restrict __pwcs, size_t __n) - __THROW - __fortified_attr_access (__write_only__, 1, 3) - __attr_access ((__read_only__, 2)); - -#ifdef __USE_MISC -/* Determine whether the string value of RESPONSE matches the affirmation - or negative response expression as specified by the LC_MESSAGES category - in the program's current locale. Returns 1 if affirmative, 0 if - negative, and -1 if not matching. */ -extern int rpmatch (const char *__response) __THROW __nonnull ((1)) __wur; -#endif - - -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -/* Parse comma separated suboption from *OPTIONP and match against - strings in TOKENS. If found return index and set *VALUEP to - optional value introduced by an equal sign. If the suboption is - not part of TOKENS return in *VALUEP beginning of unknown - suboption. On exit *OPTIONP is set to the beginning of the next - token or at the terminating NUL character. */ -extern int getsubopt (char **__restrict __optionp, - char *const *__restrict __tokens, - char **__restrict __valuep) - __THROW __nonnull ((1, 2, 3)) __wur; -#endif - - -/* X/Open pseudo terminal handling. */ - -#ifdef __USE_XOPEN2KXSI -/* Return a master pseudo-terminal handle. */ -extern int posix_openpt (int __oflag) __wur; -#endif - -#ifdef __USE_XOPEN_EXTENDED -/* The next four functions all take a master pseudo-tty fd and - perform an operation on the associated slave: */ - -/* Chown the slave to the calling user. */ -extern int grantpt (int __fd) __THROW; - -/* Release an internal lock so the slave can be opened. - Call after grantpt(). */ -extern int unlockpt (int __fd) __THROW; - -/* Return the pathname of the pseudo terminal slave associated with - the master FD is open on, or NULL on errors. - The returned storage is good until the next call to this function. */ -extern char *ptsname (int __fd) __THROW __wur; -#endif - -#ifdef __USE_GNU -/* Store at most BUFLEN characters of the pathname of the slave pseudo - terminal associated with the master FD is open on in BUF. - Return 0 on success, otherwise an error number. */ -extern int ptsname_r (int __fd, char *__buf, size_t __buflen) - __THROW __nonnull ((2)) __fortified_attr_access (__write_only__, 2, 3); - -/* Open a master pseudo terminal and return its file descriptor. */ -extern int getpt (void); -#endif - -#ifdef __USE_MISC -/* Put the 1 minute, 5 minute and 15 minute load averages into the first - NELEM elements of LOADAVG. Return the number written (never more than - three, but may be less than NELEM), or -1 if an error occurred. */ -extern int getloadavg (double __loadavg[], int __nelem) - __THROW __nonnull ((1)); -#endif - -#if defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K -/* Return the index into the active-logins file (utmp) for - the controlling terminal. */ -extern int ttyslot (void) __THROW; -#endif - -#include - -/* Define some macros helping to catch buffer overflows. */ -#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function -# include -#endif - -#include -#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 -# include -#endif - -__END_DECLS - -#endif /* stdlib.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdlib.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdlib.h.blob deleted file mode 100644 index 057382d..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@stdlib.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@string.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@string.h deleted file mode 100644 index 8dcafb4..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@string.h +++ /dev/null @@ -1,525 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * ISO C99 Standard: 7.21 String handling - */ - -#ifndef _STRING_H -#define _STRING_H 1 - -#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION -#include - -__BEGIN_DECLS - -/* Get size_t and NULL from . */ -#define __need_size_t -#define __need_NULL -#include - -/* Tell the caller that we provide correct C++ prototypes. */ -#if defined __cplusplus && (__GNUC_PREREQ (4, 4) \ - || __glibc_clang_prereq (3, 5)) -# define __CORRECT_ISO_CPP_STRING_H_PROTO -#endif - - -/* Copy N bytes of SRC to DEST. */ -extern void *memcpy (void *__restrict __dest, const void *__restrict __src, - size_t __n) __THROW __nonnull ((1, 2)); -/* Copy N bytes of SRC to DEST, guaranteeing - correct behavior for overlapping strings. */ -extern void *memmove (void *__dest, const void *__src, size_t __n) - __THROW __nonnull ((1, 2)); - -/* Copy no more than N bytes of SRC to DEST, stopping when C is found. - Return the position in DEST one byte past where C was copied, - or NULL if C was not found in the first N bytes of SRC. */ -#if defined __USE_MISC || defined __USE_XOPEN || __GLIBC_USE (ISOC2X) -extern void *memccpy (void *__restrict __dest, const void *__restrict __src, - int __c, size_t __n) - __THROW __nonnull ((1, 2)) __attr_access ((__write_only__, 1, 4)); -#endif /* Misc || X/Open. */ - - -/* Set N bytes of S to C. */ -extern void *memset (void *__s, int __c, size_t __n) __THROW __nonnull ((1)); - -/* Compare N bytes of S1 and S2. */ -extern int memcmp (const void *__s1, const void *__s2, size_t __n) - __THROW __attribute_pure__ __nonnull ((1, 2)); - -/* Search N bytes of S for C. */ -#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" -{ -extern void *memchr (void *__s, int __c, size_t __n) - __THROW __asm ("memchr") __attribute_pure__ __nonnull ((1)); -extern const void *memchr (const void *__s, int __c, size_t __n) - __THROW __asm ("memchr") __attribute_pure__ __nonnull ((1)); - -# ifdef __OPTIMIZE__ -__extern_always_inline void * -memchr (void *__s, int __c, size_t __n) __THROW -{ - return __builtin_memchr (__s, __c, __n); -} - -__extern_always_inline const void * -memchr (const void *__s, int __c, size_t __n) __THROW -{ - return __builtin_memchr (__s, __c, __n); -} -# endif -} -#else -extern void *memchr (const void *__s, int __c, size_t __n) - __THROW __attribute_pure__ __nonnull ((1)); -#endif - -#ifdef __USE_GNU -/* Search in S for C. This is similar to `memchr' but there is no - length limit. */ -# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" void *rawmemchr (void *__s, int __c) - __THROW __asm ("rawmemchr") __attribute_pure__ __nonnull ((1)); -extern "C++" const void *rawmemchr (const void *__s, int __c) - __THROW __asm ("rawmemchr") __attribute_pure__ __nonnull ((1)); -# else -extern void *rawmemchr (const void *__s, int __c) - __THROW __attribute_pure__ __nonnull ((1)); -# endif - -/* Search N bytes of S for the final occurrence of C. */ -# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" void *memrchr (void *__s, int __c, size_t __n) - __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1)) - __attr_access ((__read_only__, 1, 3)); -extern "C++" const void *memrchr (const void *__s, int __c, size_t __n) - __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1)) - __attr_access ((__read_only__, 1, 3)); -# else -extern void *memrchr (const void *__s, int __c, size_t __n) - __THROW __attribute_pure__ __nonnull ((1)) - __attr_access ((__read_only__, 1, 3)); -# endif -#endif - - -/* Copy SRC to DEST. */ -extern char *strcpy (char *__restrict __dest, const char *__restrict __src) - __THROW __nonnull ((1, 2)); -/* Copy no more than N characters of SRC to DEST. */ -extern char *strncpy (char *__restrict __dest, - const char *__restrict __src, size_t __n) - __THROW __nonnull ((1, 2)); - -/* Append SRC onto DEST. */ -extern char *strcat (char *__restrict __dest, const char *__restrict __src) - __THROW __nonnull ((1, 2)); -/* Append no more than N characters from SRC onto DEST. */ -extern char *strncat (char *__restrict __dest, const char *__restrict __src, - size_t __n) __THROW __nonnull ((1, 2)); - -/* Compare S1 and S2. */ -extern int strcmp (const char *__s1, const char *__s2) - __THROW __attribute_pure__ __nonnull ((1, 2)); -/* Compare N characters of S1 and S2. */ -extern int strncmp (const char *__s1, const char *__s2, size_t __n) - __THROW __attribute_pure__ __nonnull ((1, 2)); - -/* Compare the collated forms of S1 and S2. */ -extern int strcoll (const char *__s1, const char *__s2) - __THROW __attribute_pure__ __nonnull ((1, 2)); -/* Put a transformation of SRC into no more than N bytes of DEST. */ -extern size_t strxfrm (char *__restrict __dest, - const char *__restrict __src, size_t __n) - __THROW __nonnull ((2)) __attr_access ((__write_only__, 1, 3)); - -#ifdef __USE_XOPEN2K8 -/* POSIX.1-2008 extended locale interface (see locale.h). */ -# include - -/* Compare the collated forms of S1 and S2, using sorting rules from L. */ -extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) - __THROW __attribute_pure__ __nonnull ((1, 2, 3)); -/* Put a transformation of SRC into no more than N bytes of DEST, - using sorting rules from L. */ -extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, - locale_t __l) __THROW __nonnull ((2, 4)) - __attr_access ((__write_only__, 1, 3)); -#endif - -#if (defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 \ - || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC2X)) -/* Duplicate S, returning an identical malloc'd string. */ -extern char *strdup (const char *__s) - __THROW __attribute_malloc__ __nonnull ((1)); -#endif - -/* Return a malloc'd copy of at most N bytes of STRING. The - resultant string is terminated even if no null terminator - appears before STRING[N]. */ -#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC2X) -extern char *strndup (const char *__string, size_t __n) - __THROW __attribute_malloc__ __nonnull ((1)); -#endif - -#if defined __USE_GNU && defined __GNUC__ -/* Duplicate S, returning an identical alloca'd string. */ -# define strdupa(s) \ - (__extension__ \ - ({ \ - const char *__old = (s); \ - size_t __len = strlen (__old) + 1; \ - char *__new = (char *) __builtin_alloca (__len); \ - (char *) memcpy (__new, __old, __len); \ - })) - -/* Return an alloca'd copy of at most N bytes of string. */ -# define strndupa(s, n) \ - (__extension__ \ - ({ \ - const char *__old = (s); \ - size_t __len = strnlen (__old, (n)); \ - char *__new = (char *) __builtin_alloca (__len + 1); \ - __new[__len] = '\0'; \ - (char *) memcpy (__new, __old, __len); \ - })) -#endif - -/* Find the first occurrence of C in S. */ -#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" -{ -extern char *strchr (char *__s, int __c) - __THROW __asm ("strchr") __attribute_pure__ __nonnull ((1)); -extern const char *strchr (const char *__s, int __c) - __THROW __asm ("strchr") __attribute_pure__ __nonnull ((1)); - -# ifdef __OPTIMIZE__ -__extern_always_inline char * -strchr (char *__s, int __c) __THROW -{ - return __builtin_strchr (__s, __c); -} - -__extern_always_inline const char * -strchr (const char *__s, int __c) __THROW -{ - return __builtin_strchr (__s, __c); -} -# endif -} -#else -extern char *strchr (const char *__s, int __c) - __THROW __attribute_pure__ __nonnull ((1)); -#endif -/* Find the last occurrence of C in S. */ -#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" -{ -extern char *strrchr (char *__s, int __c) - __THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1)); -extern const char *strrchr (const char *__s, int __c) - __THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1)); - -# ifdef __OPTIMIZE__ -__extern_always_inline char * -strrchr (char *__s, int __c) __THROW -{ - return __builtin_strrchr (__s, __c); -} - -__extern_always_inline const char * -strrchr (const char *__s, int __c) __THROW -{ - return __builtin_strrchr (__s, __c); -} -# endif -} -#else -extern char *strrchr (const char *__s, int __c) - __THROW __attribute_pure__ __nonnull ((1)); -#endif - -#ifdef __USE_GNU -/* This function is similar to `strchr'. But it returns a pointer to - the closing NUL byte in case C is not found in S. */ -# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" char *strchrnul (char *__s, int __c) - __THROW __asm ("strchrnul") __attribute_pure__ __nonnull ((1)); -extern "C++" const char *strchrnul (const char *__s, int __c) - __THROW __asm ("strchrnul") __attribute_pure__ __nonnull ((1)); -# else -extern char *strchrnul (const char *__s, int __c) - __THROW __attribute_pure__ __nonnull ((1)); -# endif -#endif - -/* Return the length of the initial segment of S which - consists entirely of characters not in REJECT. */ -extern size_t strcspn (const char *__s, const char *__reject) - __THROW __attribute_pure__ __nonnull ((1, 2)); -/* Return the length of the initial segment of S which - consists entirely of characters in ACCEPT. */ -extern size_t strspn (const char *__s, const char *__accept) - __THROW __attribute_pure__ __nonnull ((1, 2)); -/* Find the first occurrence in S of any character in ACCEPT. */ -#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" -{ -extern char *strpbrk (char *__s, const char *__accept) - __THROW __asm ("strpbrk") __attribute_pure__ __nonnull ((1, 2)); -extern const char *strpbrk (const char *__s, const char *__accept) - __THROW __asm ("strpbrk") __attribute_pure__ __nonnull ((1, 2)); - -# ifdef __OPTIMIZE__ -__extern_always_inline char * -strpbrk (char *__s, const char *__accept) __THROW -{ - return __builtin_strpbrk (__s, __accept); -} - -__extern_always_inline const char * -strpbrk (const char *__s, const char *__accept) __THROW -{ - return __builtin_strpbrk (__s, __accept); -} -# endif -} -#else -extern char *strpbrk (const char *__s, const char *__accept) - __THROW __attribute_pure__ __nonnull ((1, 2)); -#endif -/* Find the first occurrence of NEEDLE in HAYSTACK. */ -#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" -{ -extern char *strstr (char *__haystack, const char *__needle) - __THROW __asm ("strstr") __attribute_pure__ __nonnull ((1, 2)); -extern const char *strstr (const char *__haystack, const char *__needle) - __THROW __asm ("strstr") __attribute_pure__ __nonnull ((1, 2)); - -# ifdef __OPTIMIZE__ -__extern_always_inline char * -strstr (char *__haystack, const char *__needle) __THROW -{ - return __builtin_strstr (__haystack, __needle); -} - -__extern_always_inline const char * -strstr (const char *__haystack, const char *__needle) __THROW -{ - return __builtin_strstr (__haystack, __needle); -} -# endif -} -#else -extern char *strstr (const char *__haystack, const char *__needle) - __THROW __attribute_pure__ __nonnull ((1, 2)); -#endif - - -/* Divide S into tokens separated by characters in DELIM. */ -extern char *strtok (char *__restrict __s, const char *__restrict __delim) - __THROW __nonnull ((2)); - -/* Divide S into tokens separated by characters in DELIM. Information - passed between calls are stored in SAVE_PTR. */ -extern char *__strtok_r (char *__restrict __s, - const char *__restrict __delim, - char **__restrict __save_ptr) - __THROW __nonnull ((2, 3)); -#ifdef __USE_POSIX -extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, - char **__restrict __save_ptr) - __THROW __nonnull ((2, 3)); -#endif - -#ifdef __USE_GNU -/* Similar to `strstr' but this function ignores the case of both strings. */ -# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" char *strcasestr (char *__haystack, const char *__needle) - __THROW __asm ("strcasestr") __attribute_pure__ __nonnull ((1, 2)); -extern "C++" const char *strcasestr (const char *__haystack, - const char *__needle) - __THROW __asm ("strcasestr") __attribute_pure__ __nonnull ((1, 2)); -# else -extern char *strcasestr (const char *__haystack, const char *__needle) - __THROW __attribute_pure__ __nonnull ((1, 2)); -# endif -#endif - -#ifdef __USE_GNU -/* Find the first occurrence of NEEDLE in HAYSTACK. - NEEDLE is NEEDLELEN bytes long; - HAYSTACK is HAYSTACKLEN bytes long. */ -extern void *memmem (const void *__haystack, size_t __haystacklen, - const void *__needle, size_t __needlelen) - __THROW __attribute_pure__ __nonnull ((1, 3)) - __attr_access ((__read_only__, 1, 2)) - __attr_access ((__read_only__, 3, 4)); - -/* Copy N bytes of SRC to DEST, return pointer to bytes after the - last written byte. */ -extern void *__mempcpy (void *__restrict __dest, - const void *__restrict __src, size_t __n) - __THROW __nonnull ((1, 2)); -extern void *mempcpy (void *__restrict __dest, - const void *__restrict __src, size_t __n) - __THROW __nonnull ((1, 2)); -#endif - - -/* Return the length of S. */ -extern size_t strlen (const char *__s) - __THROW __attribute_pure__ __nonnull ((1)); - -#ifdef __USE_XOPEN2K8 -/* Find the length of STRING, but scan at most MAXLEN characters. - If no '\0' terminator is found in that many characters, return MAXLEN. */ -extern size_t strnlen (const char *__string, size_t __maxlen) - __THROW __attribute_pure__ __nonnull ((1)); -#endif - - -/* Return a string describing the meaning of the `errno' code in ERRNUM. */ -extern char *strerror (int __errnum) __THROW; -#ifdef __USE_XOPEN2K -/* Reentrant version of `strerror'. - There are 2 flavors of `strerror_r', GNU which returns the string - and may or may not use the supplied temporary buffer and POSIX one - which fills the string into the buffer. - To use the POSIX version, -D_XOPEN_SOURCE=600 or -D_POSIX_C_SOURCE=200112L - without -D_GNU_SOURCE is needed, otherwise the GNU version is - preferred. */ -# if defined __USE_XOPEN2K && !defined __USE_GNU -/* Fill BUF with a string describing the meaning of the `errno' code in - ERRNUM. */ -# ifdef __REDIRECT_NTH -extern int __REDIRECT_NTH (strerror_r, - (int __errnum, char *__buf, size_t __buflen), - __xpg_strerror_r) __nonnull ((2)) - __attr_access ((__write_only__, 2, 3)); -# else -extern int __xpg_strerror_r (int __errnum, char *__buf, size_t __buflen) - __THROW __nonnull ((2)) __attr_access ((__write_only__, 2, 3)); -# define strerror_r __xpg_strerror_r -# endif -# else -/* If a temporary buffer is required, at most BUFLEN bytes of BUF will be - used. */ -extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) - __THROW __nonnull ((2)) __wur __attr_access ((__write_only__, 2, 3)); -# endif - -# ifdef __USE_GNU -/* Return a string describing the meaning of tthe error in ERR. */ -extern const char *strerrordesc_np (int __err) __THROW; -/* Return a string with the error name in ERR. */ -extern const char *strerrorname_np (int __err) __THROW; -# endif -#endif - -#ifdef __USE_XOPEN2K8 -/* Translate error number to string according to the locale L. */ -extern char *strerror_l (int __errnum, locale_t __l) __THROW; -#endif - -#ifdef __USE_MISC -# include - -/* Set N bytes of S to 0. The compiler will not delete a call to this - function, even if S is dead after the call. */ -extern void explicit_bzero (void *__s, size_t __n) __THROW __nonnull ((1)) - __fortified_attr_access (__write_only__, 1, 2); - -/* Return the next DELIM-delimited token from *STRINGP, - terminating it with a '\0', and update *STRINGP to point past it. */ -extern char *strsep (char **__restrict __stringp, - const char *__restrict __delim) - __THROW __nonnull ((1, 2)); -#endif - -#ifdef __USE_XOPEN2K8 -/* Return a string describing the meaning of the signal number in SIG. */ -extern char *strsignal (int __sig) __THROW; - -# ifdef __USE_GNU -/* Return an abbreviation string for the signal number SIG. */ -extern const char *sigabbrev_np (int __sig) __THROW; -/* Return a string describing the meaning of the signal number in SIG, - the result is not translated. */ -extern const char *sigdescr_np (int __sig) __THROW; -# endif - -/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */ -extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) - __THROW __nonnull ((1, 2)); -extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) - __THROW __nonnull ((1, 2)); - -/* Copy no more than N characters of SRC to DEST, returning the address of - the last character written into DEST. */ -extern char *__stpncpy (char *__restrict __dest, - const char *__restrict __src, size_t __n) - __THROW __nonnull ((1, 2)); -extern char *stpncpy (char *__restrict __dest, - const char *__restrict __src, size_t __n) - __THROW __nonnull ((1, 2)); -#endif - -#ifdef __USE_GNU -/* Compare S1 and S2 as strings holding name & indices/version numbers. */ -extern int strverscmp (const char *__s1, const char *__s2) - __THROW __attribute_pure__ __nonnull ((1, 2)); - -/* Sautee STRING briskly. */ -extern char *strfry (char *__string) __THROW __nonnull ((1)); - -/* Frobnicate N bytes of S. */ -extern void *memfrob (void *__s, size_t __n) __THROW __nonnull ((1)) - __attr_access ((__write_only__, 1, 2)); - -# ifndef basename -/* Return the file name within directory of FILENAME. We don't - declare the function if the `basename' macro is available (defined - in ) which makes the XPG version of this function - available. */ -# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" char *basename (char *__filename) - __THROW __asm ("basename") __nonnull ((1)); -extern "C++" const char *basename (const char *__filename) - __THROW __asm ("basename") __nonnull ((1)); -# else -extern char *basename (const char *__filename) __THROW __nonnull ((1)); -# endif -# endif -#endif - -#if __GNUC_PREREQ (3,4) -# if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function -/* Functions with security checks. */ -# include -# endif -#endif - -__END_DECLS - -#endif /* string.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@string.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@string.h.blob deleted file mode 100644 index fe7b3be..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@string.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@strings.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@strings.h deleted file mode 100644 index ae7c7a3..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@strings.h +++ /dev/null @@ -1,148 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _STRINGS_H -#define _STRINGS_H 1 - -#include -#define __need_size_t -#include - -/* Tell the caller that we provide correct C++ prototypes. */ -#if defined __cplusplus && __GNUC_PREREQ (4, 4) -# define __CORRECT_ISO_CPP_STRINGS_H_PROTO -#endif - -__BEGIN_DECLS - -#if defined __USE_MISC || !defined __USE_XOPEN2K8 -/* Compare N bytes of S1 and S2 (same as memcmp). */ -extern int bcmp (const void *__s1, const void *__s2, size_t __n) - __THROW __attribute_pure__ __nonnull ((1, 2)); - -/* Copy N bytes of SRC to DEST (like memmove, but args reversed). */ -extern void bcopy (const void *__src, void *__dest, size_t __n) - __THROW __nonnull ((1, 2)); - -/* Set N bytes of S to 0. */ -extern void bzero (void *__s, size_t __n) __THROW __nonnull ((1)); - -/* Find the first occurrence of C in S (same as strchr). */ -# ifdef __CORRECT_ISO_CPP_STRINGS_H_PROTO -extern "C++" -{ -extern char *index (char *__s, int __c) - __THROW __asm ("index") __attribute_pure__ __nonnull ((1)); -extern const char *index (const char *__s, int __c) - __THROW __asm ("index") __attribute_pure__ __nonnull ((1)); - -# if defined __OPTIMIZE__ -__extern_always_inline char * -index (char *__s, int __c) __THROW -{ - return __builtin_index (__s, __c); -} - -__extern_always_inline const char * -index (const char *__s, int __c) __THROW -{ - return __builtin_index (__s, __c); -} -# endif -} -# else -extern char *index (const char *__s, int __c) - __THROW __attribute_pure__ __nonnull ((1)); -# endif - -/* Find the last occurrence of C in S (same as strrchr). */ -# ifdef __CORRECT_ISO_CPP_STRINGS_H_PROTO -extern "C++" -{ -extern char *rindex (char *__s, int __c) - __THROW __asm ("rindex") __attribute_pure__ __nonnull ((1)); -extern const char *rindex (const char *__s, int __c) - __THROW __asm ("rindex") __attribute_pure__ __nonnull ((1)); - -# if defined __OPTIMIZE__ -__extern_always_inline char * -rindex (char *__s, int __c) __THROW -{ - return __builtin_rindex (__s, __c); -} - -__extern_always_inline const char * -rindex (const char *__s, int __c) __THROW -{ - return __builtin_rindex (__s, __c); -} -# endif -} -# else -extern char *rindex (const char *__s, int __c) - __THROW __attribute_pure__ __nonnull ((1)); -# endif -#endif - -#if defined __USE_MISC || !defined __USE_XOPEN2K8 || defined __USE_XOPEN2K8XSI -/* Return the position of the first bit set in I, or 0 if none are set. - The least-significant bit is position 1, the most-significant 32. */ -extern int ffs (int __i) __THROW __attribute_const__; -#endif - -/* The following two functions are non-standard but necessary for non-32 bit - platforms. */ -# ifdef __USE_MISC -extern int ffsl (long int __l) __THROW __attribute_const__; -__extension__ extern int ffsll (long long int __ll) - __THROW __attribute_const__; -# endif - -/* Compare S1 and S2, ignoring case. */ -extern int strcasecmp (const char *__s1, const char *__s2) - __THROW __attribute_pure__ __nonnull ((1, 2)); - -/* Compare no more than N chars of S1 and S2, ignoring case. */ -extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) - __THROW __attribute_pure__ __nonnull ((1, 2)); - -#ifdef __USE_XOPEN2K8 -/* POSIX.1-2008 extended locale interface (see locale.h). */ -# include - -/* Compare S1 and S2, ignoring case, using collation rules from LOC. */ -extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) - __THROW __attribute_pure__ __nonnull ((1, 2, 3)); - -/* Compare no more than N chars of S1 and S2, ignoring case, using - collation rules from LOC. */ -extern int strncasecmp_l (const char *__s1, const char *__s2, - size_t __n, locale_t __loc) - __THROW __attribute_pure__ __nonnull ((1, 2, 4)); -#endif - -__END_DECLS - -#if __GNUC_PREREQ (3,4) && __USE_FORTIFY_LEVEL > 0 \ - && defined __fortify_function -/* Functions with security checks. */ -# if defined __USE_MISC || !defined __USE_XOPEN2K8 -# include -# endif -#endif - -#endif /* strings.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@strings.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@strings.h.blob deleted file mode 100644 index f122d7a..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@strings.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@cdefs.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@cdefs.h deleted file mode 100644 index b36013b..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@cdefs.h +++ /dev/null @@ -1,693 +0,0 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_CDEFS_H -#define _SYS_CDEFS_H 1 - -/* We are almost always included from features.h. */ -#ifndef _FEATURES_H -# include -#endif - -/* The GNU libc does not support any K&R compilers or the traditional mode - of ISO C compilers anymore. Check for some of the combinations not - supported anymore. */ -#if defined __GNUC__ && !defined __STDC__ -# error "You need a ISO C conforming compiler to use the glibc headers" -#endif - -/* Some user header file might have defined this before. */ -#undef __P -#undef __PMT - -/* Compilers that lack __has_attribute may object to - #if defined __has_attribute && __has_attribute (...) - even though they do not need to evaluate the right-hand side of the &&. - Similarly for __has_builtin, etc. */ -#if (defined __has_attribute \ - && (!defined __clang_minor__ \ - || 3 < __clang_major__ + (5 <= __clang_minor__))) -# define __glibc_has_attribute(attr) __has_attribute (attr) -#else -# define __glibc_has_attribute(attr) 0 -#endif -#ifdef __has_builtin -# define __glibc_has_builtin(name) __has_builtin (name) -#else -# define __glibc_has_builtin(name) 0 -#endif -#ifdef __has_extension -# define __glibc_has_extension(ext) __has_extension (ext) -#else -# define __glibc_has_extension(ext) 0 -#endif - -#if defined __GNUC__ || defined __clang__ - -/* All functions, except those with callbacks or those that - synchronize memory, are leaf functions. */ -# if __GNUC_PREREQ (4, 6) && !defined _LIBC -# define __LEAF , __leaf__ -# define __LEAF_ATTR __attribute__ ((__leaf__)) -# else -# define __LEAF -# define __LEAF_ATTR -# endif - -/* GCC can always grok prototypes. For C++ programs we add throw() - to help it optimize the function calls. But this only works with - gcc 2.8.x and egcs. For gcc 3.4 and up we even mark C functions - as non-throwing using a function attribute since programs can use - the -fexceptions options for C code as well. */ -# if !defined __cplusplus \ - && (__GNUC_PREREQ (3, 4) || __glibc_has_attribute (__nothrow__)) -# define __THROW __attribute__ ((__nothrow__ __LEAF)) -# define __THROWNL __attribute__ ((__nothrow__)) -# define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct -# define __NTHNL(fct) __attribute__ ((__nothrow__)) fct -# else -# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major >= 4) -# if __cplusplus >= 201103L -# define __THROW noexcept (true) -# else -# define __THROW throw () -# endif -# define __THROWNL __THROW -# define __NTH(fct) __LEAF_ATTR fct __THROW -# define __NTHNL(fct) fct __THROW -# else -# define __THROW -# define __THROWNL -# define __NTH(fct) fct -# define __NTHNL(fct) fct -# endif -# endif - -#else /* Not GCC or clang. */ - -# if (defined __cplusplus \ - || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) -# define __inline inline -# else -# define __inline /* No inline functions. */ -# endif - -# define __THROW -# define __THROWNL -# define __NTH(fct) fct - -#endif /* GCC || clang. */ - -/* These two macros are not used in glibc anymore. They are kept here - only because some other projects expect the macros to be defined. */ -#define __P(args) args -#define __PMT(args) args - -/* For these things, GCC behaves the ANSI way normally, - and the non-ANSI way under -traditional. */ - -#define __CONCAT(x,y) x ## y -#define __STRING(x) #x - -/* This is not a typedef so `const __ptr_t' does the right thing. */ -#define __ptr_t void * - - -/* C++ needs to know that types and declarations are C, not C++. */ -#ifdef __cplusplus -# define __BEGIN_DECLS extern "C" { -# define __END_DECLS } -#else -# define __BEGIN_DECLS -# define __END_DECLS -#endif - - -/* Fortify support. */ -#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) -#define __bos0(ptr) __builtin_object_size (ptr, 0) - -/* Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available. */ -#if __USE_FORTIFY_LEVEL == 3 && (__glibc_clang_prereq (9, 0) \ - || __GNUC_PREREQ (12, 0)) -# define __glibc_objsize0(__o) __builtin_dynamic_object_size (__o, 0) -# define __glibc_objsize(__o) __builtin_dynamic_object_size (__o, 1) -#else -# define __glibc_objsize0(__o) __bos0 (__o) -# define __glibc_objsize(__o) __bos (__o) -#endif - -/* Compile time conditions to choose between the regular, _chk and _chk_warn - variants. These conditions should get evaluated to constant and optimized - away. */ - -#define __glibc_safe_len_cond(__l, __s, __osz) ((__l) <= (__osz) / (__s)) -#define __glibc_unsigned_or_positive(__l) \ - ((__typeof (__l)) 0 < (__typeof (__l)) -1 \ - || (__builtin_constant_p (__l) && (__l) > 0)) - -/* Length is known to be safe at compile time if the __L * __S <= __OBJSZ - condition can be folded to a constant and if it is true, or unknown (-1) */ -#define __glibc_safe_or_unknown_len(__l, __s, __osz) \ - ((__osz) == (__SIZE_TYPE__) -1 \ - || (__glibc_unsigned_or_positive (__l) \ - && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ - (__s), (__osz))) \ - && __glibc_safe_len_cond ((__SIZE_TYPE__) (__l), (__s), (__osz)))) - -/* Conversely, we know at compile time that the length is unsafe if the - __L * __S <= __OBJSZ condition can be folded to a constant and if it is - false. */ -#define __glibc_unsafe_len(__l, __s, __osz) \ - (__glibc_unsigned_or_positive (__l) \ - && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ - __s, __osz)) \ - && !__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz)) - -/* Fortify function f. __f_alias, __f_chk and __f_chk_warn must be - declared. */ - -#define __glibc_fortify(f, __l, __s, __osz, ...) \ - (__glibc_safe_or_unknown_len (__l, __s, __osz) \ - ? __ ## f ## _alias (__VA_ARGS__) \ - : (__glibc_unsafe_len (__l, __s, __osz) \ - ? __ ## f ## _chk_warn (__VA_ARGS__, __osz) \ - : __ ## f ## _chk (__VA_ARGS__, __osz))) \ - -/* Fortify function f, where object size argument passed to f is the number of - elements and not total size. */ - -#define __glibc_fortify_n(f, __l, __s, __osz, ...) \ - (__glibc_safe_or_unknown_len (__l, __s, __osz) \ - ? __ ## f ## _alias (__VA_ARGS__) \ - : (__glibc_unsafe_len (__l, __s, __osz) \ - ? __ ## f ## _chk_warn (__VA_ARGS__, (__osz) / (__s)) \ - : __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s)))) \ - -#if __GNUC_PREREQ (4,3) -# define __warnattr(msg) __attribute__((__warning__ (msg))) -# define __errordecl(name, msg) \ - extern void name (void) __attribute__((__error__ (msg))) -#else -# define __warnattr(msg) -# define __errordecl(name, msg) extern void name (void) -#endif - -/* Support for flexible arrays. - Headers that should use flexible arrays only if they're "real" - (e.g. only if they won't affect sizeof()) should test - #if __glibc_c99_flexarr_available. */ -#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L && !defined __HP_cc -# define __flexarr [] -# define __glibc_c99_flexarr_available 1 -#elif __GNUC_PREREQ (2,97) || defined __clang__ -/* GCC 2.97 and clang support C99 flexible array members as an extension, - even when in C89 mode or compiling C++ (any version). */ -# define __flexarr [] -# define __glibc_c99_flexarr_available 1 -#elif defined __GNUC__ -/* Pre-2.97 GCC did not support C99 flexible arrays but did have - an equivalent extension with slightly different notation. */ -# define __flexarr [0] -# define __glibc_c99_flexarr_available 1 -#else -/* Some other non-C99 compiler. Approximate with [1]. */ -# define __flexarr [1] -# define __glibc_c99_flexarr_available 0 -#endif - - -/* __asm__ ("xyz") is used throughout the headers to rename functions - at the assembly language level. This is wrapped by the __REDIRECT - macro, in order to support compilers that can do this some other - way. When compilers don't support asm-names at all, we have to do - preprocessor tricks instead (which don't have exactly the right - semantics, but it's the best we can do). - - Example: - int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); */ - -#if (defined __GNUC__ && __GNUC__ >= 2) || (__clang_major__ >= 4) - -# define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias)) -# ifdef __cplusplus -# define __REDIRECT_NTH(name, proto, alias) \ - name proto __THROW __asm__ (__ASMNAME (#alias)) -# define __REDIRECT_NTHNL(name, proto, alias) \ - name proto __THROWNL __asm__ (__ASMNAME (#alias)) -# else -# define __REDIRECT_NTH(name, proto, alias) \ - name proto __asm__ (__ASMNAME (#alias)) __THROW -# define __REDIRECT_NTHNL(name, proto, alias) \ - name proto __asm__ (__ASMNAME (#alias)) __THROWNL -# endif -# define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname) -# define __ASMNAME2(prefix, cname) __STRING (prefix) cname - -/* -#elif __SOME_OTHER_COMPILER__ - -# define __REDIRECT(name, proto, alias) name proto; \ - _Pragma("let " #name " = " #alias) -*/ -#endif - -/* GCC and clang have various useful declarations that can be made with - the '__attribute__' syntax. All of the ways we use this do fine if - they are omitted for compilers that don't understand it. */ -#if !(defined __GNUC__ || defined __clang__) -# define __attribute__(xyz) /* Ignore */ -#endif - -/* At some point during the gcc 2.96 development the `malloc' attribute - for functions was introduced. We don't want to use it unconditionally - (although this would be possible) since it generates warnings. */ -#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__malloc__) -# define __attribute_malloc__ __attribute__ ((__malloc__)) -#else -# define __attribute_malloc__ /* Ignore */ -#endif - -/* Tell the compiler which arguments to an allocation function - indicate the size of the allocation. */ -#if __GNUC_PREREQ (4, 3) -# define __attribute_alloc_size__(params) \ - __attribute__ ((__alloc_size__ params)) -#else -# define __attribute_alloc_size__(params) /* Ignore. */ -#endif - -/* At some point during the gcc 2.96 development the `pure' attribute - for functions was introduced. We don't want to use it unconditionally - (although this would be possible) since it generates warnings. */ -#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__pure__) -# define __attribute_pure__ __attribute__ ((__pure__)) -#else -# define __attribute_pure__ /* Ignore */ -#endif - -/* This declaration tells the compiler that the value is constant. */ -#if __GNUC_PREREQ (2,5) || __glibc_has_attribute (__const__) -# define __attribute_const__ __attribute__ ((__const__)) -#else -# define __attribute_const__ /* Ignore */ -#endif - -#if __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__) -# define __attribute_maybe_unused__ __attribute__ ((__unused__)) -#else -# define __attribute_maybe_unused__ /* Ignore */ -#endif - -/* At some point during the gcc 3.1 development the `used' attribute - for functions was introduced. We don't want to use it unconditionally - (although this would be possible) since it generates warnings. */ -#if __GNUC_PREREQ (3,1) || __glibc_has_attribute (__used__) -# define __attribute_used__ __attribute__ ((__used__)) -# define __attribute_noinline__ __attribute__ ((__noinline__)) -#else -# define __attribute_used__ __attribute__ ((__unused__)) -# define __attribute_noinline__ /* Ignore */ -#endif - -/* Since version 3.2, gcc allows marking deprecated functions. */ -#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__deprecated__) -# define __attribute_deprecated__ __attribute__ ((__deprecated__)) -#else -# define __attribute_deprecated__ /* Ignore */ -#endif - -/* Since version 4.5, gcc also allows one to specify the message printed - when a deprecated function is used. clang claims to be gcc 4.2, but - may also support this feature. */ -#if __GNUC_PREREQ (4,5) \ - || __glibc_has_extension (__attribute_deprecated_with_message__) -# define __attribute_deprecated_msg__(msg) \ - __attribute__ ((__deprecated__ (msg))) -#else -# define __attribute_deprecated_msg__(msg) __attribute_deprecated__ -#endif - -/* At some point during the gcc 2.8 development the `format_arg' attribute - for functions was introduced. We don't want to use it unconditionally - (although this would be possible) since it generates warnings. - If several `format_arg' attributes are given for the same function, in - gcc-3.0 and older, all but the last one are ignored. In newer gccs, - all designated arguments are considered. */ -#if __GNUC_PREREQ (2,8) || __glibc_has_attribute (__format_arg__) -# define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x))) -#else -# define __attribute_format_arg__(x) /* Ignore */ -#endif - -/* At some point during the gcc 2.97 development the `strfmon' format - attribute for functions was introduced. We don't want to use it - unconditionally (although this would be possible) since it - generates warnings. */ -#if __GNUC_PREREQ (2,97) || __glibc_has_attribute (__format__) -# define __attribute_format_strfmon__(a,b) \ - __attribute__ ((__format__ (__strfmon__, a, b))) -#else -# define __attribute_format_strfmon__(a,b) /* Ignore */ -#endif - -/* The nonnull function attribute marks pointer parameters that - must not be NULL. */ -#ifndef __nonnull -# if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__) -# define __nonnull(params) __attribute__ ((__nonnull__ params)) -# else -# define __nonnull(params) -# endif -#elif !defined __GLIBC__ -# undef __nonnull -# define __nonnull(params) _GL_ATTRIBUTE_NONNULL (params) -#endif - -/* The returns_nonnull function attribute marks the return type of the function - as always being non-null. */ -#ifndef __returns_nonnull -# if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__returns_nonnull__) -# define __returns_nonnull __attribute__ ((__returns_nonnull__)) -# else -# define __returns_nonnull -# endif -#endif - -/* If fortification mode, we warn about unused results of certain - function calls which can lead to problems. */ -#if __GNUC_PREREQ (3,4) || __glibc_has_attribute (__warn_unused_result__) -# define __attribute_warn_unused_result__ \ - __attribute__ ((__warn_unused_result__)) -# if defined __USE_FORTIFY_LEVEL && __USE_FORTIFY_LEVEL > 0 -# define __wur __attribute_warn_unused_result__ -# endif -#else -# define __attribute_warn_unused_result__ /* empty */ -#endif -#ifndef __wur -# define __wur /* Ignore */ -#endif - -/* Forces a function to be always inlined. */ -#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__always_inline__) -/* The Linux kernel defines __always_inline in stddef.h (283d7573), and - it conflicts with this definition. Therefore undefine it first to - allow either header to be included first. */ -# undef __always_inline -# define __always_inline __inline __attribute__ ((__always_inline__)) -#else -# undef __always_inline -# define __always_inline __inline -#endif - -/* Associate error messages with the source location of the call site rather - than with the source location inside the function. */ -#if __GNUC_PREREQ (4,3) || __glibc_has_attribute (__artificial__) -# define __attribute_artificial__ __attribute__ ((__artificial__)) -#else -# define __attribute_artificial__ /* Ignore */ -#endif - -/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 - inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__ - or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions - older than 4.3 may define these macros and still not guarantee GNU inlining - semantics. - - clang++ identifies itself as gcc-4.2, but has support for GNU inlining - semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and - __GNUC_GNU_INLINE__ macro definitions. */ -#if (!defined __cplusplus || __GNUC_PREREQ (4,3) \ - || (defined __clang__ && (defined __GNUC_STDC_INLINE__ \ - || defined __GNUC_GNU_INLINE__))) -# if defined __GNUC_STDC_INLINE__ || defined __cplusplus -# define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) -# define __extern_always_inline \ - extern __always_inline __attribute__ ((__gnu_inline__)) -# else -# define __extern_inline extern __inline -# define __extern_always_inline extern __always_inline -# endif -#endif - -#ifdef __extern_always_inline -# define __fortify_function __extern_always_inline __attribute_artificial__ -#endif - -/* GCC 4.3 and above allow passing all anonymous arguments of an - __extern_always_inline function to some other vararg function. */ -#if __GNUC_PREREQ (4,3) -# define __va_arg_pack() __builtin_va_arg_pack () -# define __va_arg_pack_len() __builtin_va_arg_pack_len () -#endif - -/* It is possible to compile containing GCC extensions even if GCC is - run in pedantic mode if the uses are carefully marked using the - `__extension__' keyword. But this is not generally available before - version 2.8. */ -#if !(__GNUC_PREREQ (2,8) || defined __clang__) -# define __extension__ /* Ignore */ -#endif - -/* __restrict is known in EGCS 1.2 and above, and in clang. - It works also in C++ mode (outside of arrays), but only when spelled - as '__restrict', not 'restrict'. */ -#if !(__GNUC_PREREQ (2,92) || __clang_major__ >= 3) -# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L -# define __restrict restrict -# else -# define __restrict /* Ignore */ -# endif -#endif - -/* ISO C99 also allows to declare arrays as non-overlapping. The syntax is - array_name[restrict] - GCC 3.1 and clang support this. - This syntax is not usable in C++ mode. */ -#if (__GNUC_PREREQ (3,1) || __clang_major__ >= 3) && !defined __cplusplus -# define __restrict_arr __restrict -#else -# ifdef __GNUC__ -# define __restrict_arr /* Not supported in old GCC. */ -# else -# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L -# define __restrict_arr restrict -# else -/* Some other non-C99 compiler. */ -# define __restrict_arr /* Not supported. */ -# endif -# endif -#endif - -#if (__GNUC__ >= 3) || __glibc_has_builtin (__builtin_expect) -# define __glibc_unlikely(cond) __builtin_expect ((cond), 0) -# define __glibc_likely(cond) __builtin_expect ((cond), 1) -#else -# define __glibc_unlikely(cond) (cond) -# define __glibc_likely(cond) (cond) -#endif - -#if (!defined _Noreturn \ - && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \ - && !(__GNUC_PREREQ (4,7) \ - || (3 < __clang_major__ + (5 <= __clang_minor__)))) -# if __GNUC_PREREQ (2,8) -# define _Noreturn __attribute__ ((__noreturn__)) -# else -# define _Noreturn -# endif -#endif - -#if __GNUC_PREREQ (8, 0) -/* Describes a char array whose address can safely be passed as the first - argument to strncpy and strncat, as the char array is not necessarily - a NUL-terminated string. */ -# define __attribute_nonstring__ __attribute__ ((__nonstring__)) -#else -# define __attribute_nonstring__ -#endif - -/* Undefine (also defined in libc-symbols.h). */ -#undef __attribute_copy__ -#if __GNUC_PREREQ (9, 0) -/* Copies attributes from the declaration or type referenced by - the argument. */ -# define __attribute_copy__(arg) __attribute__ ((__copy__ (arg))) -#else -# define __attribute_copy__(arg) -#endif - -#if (!defined _Static_assert && !defined __cplusplus \ - && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \ - && (!(__GNUC_PREREQ (4, 6) || __clang_major__ >= 4) \ - || defined __STRICT_ANSI__)) -# define _Static_assert(expr, diagnostic) \ - extern int (*__Static_assert_function (void)) \ - [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })] -#endif - -/* The #ifndef lets Gnulib avoid including these on non-glibc - platforms, where the includes typically do not exist. */ -#ifdef __GLIBC__ -# include -# include -#endif - -#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 -# ifdef __REDIRECT - -/* Alias name defined automatically. */ -# define __LDBL_REDIR(name, proto) ... unused__ldbl_redir -# define __LDBL_REDIR_DECL(name) \ - extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128")); - -/* Alias name defined automatically, with leading underscores. */ -# define __LDBL_REDIR2_DECL(name) \ - extern __typeof (__##name) __##name \ - __asm (__ASMNAME ("__" #name "ieee128")); - -/* Alias name defined manually. */ -# define __LDBL_REDIR1(name, proto, alias) ... unused__ldbl_redir1 -# define __LDBL_REDIR1_DECL(name, alias) \ - extern __typeof (name) name __asm (__ASMNAME (#alias)); - -# define __LDBL_REDIR1_NTH(name, proto, alias) \ - __REDIRECT_NTH (name, proto, alias) -# define __REDIRECT_NTH_LDBL(name, proto, alias) \ - __LDBL_REDIR1_NTH (name, proto, __##alias##ieee128) - -/* Unused. */ -# define __REDIRECT_LDBL(name, proto, alias) ... unused__redirect_ldbl -# define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth - -# else -_Static_assert (0, "IEEE 128-bits long double requires redirection on this platform"); -# endif -#elif defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH -# define __LDBL_COMPAT 1 -# ifdef __REDIRECT -# define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias) -# define __LDBL_REDIR(name, proto) \ - __LDBL_REDIR1 (name, proto, __nldbl_##name) -# define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias) -# define __LDBL_REDIR_NTH(name, proto) \ - __LDBL_REDIR1_NTH (name, proto, __nldbl_##name) -# define __LDBL_REDIR2_DECL(name) \ - extern __typeof (__##name) __##name __asm (__ASMNAME ("__nldbl___" #name)); -# define __LDBL_REDIR1_DECL(name, alias) \ - extern __typeof (name) name __asm (__ASMNAME (#alias)); -# define __LDBL_REDIR_DECL(name) \ - extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name)); -# define __REDIRECT_LDBL(name, proto, alias) \ - __LDBL_REDIR1 (name, proto, __nldbl_##alias) -# define __REDIRECT_NTH_LDBL(name, proto, alias) \ - __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias) -# endif -#endif -#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \ - || !defined __REDIRECT -# define __LDBL_REDIR1(name, proto, alias) name proto -# define __LDBL_REDIR(name, proto) name proto -# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW -# define __LDBL_REDIR_NTH(name, proto) name proto __THROW -# define __LDBL_REDIR2_DECL(name) -# define __LDBL_REDIR_DECL(name) -# ifdef __REDIRECT -# define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias) -# define __REDIRECT_NTH_LDBL(name, proto, alias) \ - __REDIRECT_NTH (name, proto, alias) -# endif -#endif - -/* __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is - intended for use in preprocessor macros. - - Note: MESSAGE must be a _single_ string; concatenation of string - literals is not supported. */ -#if __GNUC_PREREQ (4,8) || __glibc_clang_prereq (3,5) -# define __glibc_macro_warning1(message) _Pragma (#message) -# define __glibc_macro_warning(message) \ - __glibc_macro_warning1 (GCC warning message) -#else -# define __glibc_macro_warning(msg) -#endif - -/* Generic selection (ISO C11) is a C-only feature, available in GCC - since version 4.9. Previous versions do not provide generic - selection, even though they might set __STDC_VERSION__ to 201112L, - when in -std=c11 mode. Thus, we must check for !defined __GNUC__ - when testing __STDC_VERSION__ for generic selection support. - On the other hand, Clang also defines __GNUC__, so a clang-specific - check is required to enable the use of generic selection. */ -#if !defined __cplusplus \ - && (__GNUC_PREREQ (4, 9) \ - || __glibc_has_extension (c_generic_selections) \ - || (!defined __GNUC__ && defined __STDC_VERSION__ \ - && __STDC_VERSION__ >= 201112L)) -# define __HAVE_GENERIC_SELECTION 1 -#else -# define __HAVE_GENERIC_SELECTION 0 -#endif - -#if __GNUC_PREREQ (10, 0) -/* Designates a 1-based positional argument ref-index of pointer type - that can be used to access size-index elements of the pointed-to - array according to access mode, or at least one element when - size-index is not provided: - access (access-mode, [, ]) */ -# define __attr_access(x) __attribute__ ((__access__ x)) -/* For _FORTIFY_SOURCE == 3 we use __builtin_dynamic_object_size, which may - use the access attribute to get object sizes from function definition - arguments, so we can't use them on functions we fortify. Drop the object - size hints for such functions. */ -# if __USE_FORTIFY_LEVEL == 3 -# define __fortified_attr_access(a, o, s) __attribute__ ((__access__ (a, o))) -# else -# define __fortified_attr_access(a, o, s) __attr_access ((a, o, s)) -# endif -# if __GNUC_PREREQ (11, 0) -# define __attr_access_none(argno) __attribute__ ((__access__ (__none__, argno))) -# else -# define __attr_access_none(argno) -# endif -#else -# define __fortified_attr_access(a, o, s) -# define __attr_access(x) -# define __attr_access_none(argno) -#endif - -#if __GNUC_PREREQ (11, 0) -/* Designates dealloc as a function to call to deallocate objects - allocated by the declared function. */ -# define __attr_dealloc(dealloc, argno) \ - __attribute__ ((__malloc__ (dealloc, argno))) -# define __attr_dealloc_free __attr_dealloc (__builtin_free, 1) -#else -# define __attr_dealloc(dealloc, argno) -# define __attr_dealloc_free -#endif - -/* Specify that a function such as setjmp or vfork may return - twice. */ -#if __GNUC_PREREQ (4, 1) -# define __attribute_returns_twice__ __attribute__ ((__returns_twice__)) -#else -# define __attribute_returns_twice__ /* Ignore. */ -#endif - -#endif /* sys/cdefs.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@cdefs.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@cdefs.h.blob deleted file mode 100644 index de4a402..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@cdefs.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ioctl.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ioctl.h deleted file mode 100644 index 9945c1e..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ioctl.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_IOCTL_H -#define _SYS_IOCTL_H 1 - -#include - -__BEGIN_DECLS - -/* Get the list of `ioctl' requests and related constants. */ -#include - -/* Define some types used by `ioctl' requests. */ -#include - -/* On a Unix system, the system probably defines some of - the symbols we define in (usually with the same - values). The code to generate has omitted these - symbols to avoid the conflict, but a Unix program expects - to define them, so we must include here. */ -#include - -/* Perform the I/O control operation specified by REQUEST on FD. - One argument may follow; its presence and type depend on REQUEST. - Return value depends on REQUEST. Usually -1 indicates error. */ -#ifndef __USE_TIME_BITS64 -extern int ioctl (int __fd, unsigned long int __request, ...) __THROW; -#else -# ifdef __REDIRECT -extern int __REDIRECT_NTH (ioctl, (int __fd, unsigned long int __request, ...), - __ioctl_time64); -# else -extern int __ioctl_time64 (int __fd, unsigned long int __request, ...) __THROW; -# define ioctl __ioctl_time64 -# endif -#endif - -__END_DECLS - -#endif /* sys/ioctl.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ioctl.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ioctl.h.blob deleted file mode 100644 index c7140f4..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ioctl.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@select.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@select.h deleted file mode 100644 index e9c0e8f..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@select.h +++ /dev/null @@ -1,155 +0,0 @@ -/* `fd_set' type and related macros, and `select'/`pselect' declarations. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* POSIX 1003.1g: 6.2 Select from File Descriptor Sets */ - -#ifndef _SYS_SELECT_H -#define _SYS_SELECT_H 1 - -#include - -/* Get definition of needed basic types. */ -#include - -/* Get __FD_* definitions. */ -#include - -/* Get sigset_t. */ -#include - -/* Get definition of timer specification structures. */ -#include -#include -#ifdef __USE_XOPEN2K -# include -#endif - -#ifndef __suseconds_t_defined -typedef __suseconds_t suseconds_t; -# define __suseconds_t_defined -#endif - - -/* The fd_set member is required to be an array of longs. */ -typedef long int __fd_mask; - -/* Some versions of define this macros. */ -#undef __NFDBITS -/* It's easier to assume 8-bit bytes than to get CHAR_BIT. */ -#define __NFDBITS (8 * (int) sizeof (__fd_mask)) -#define __FD_ELT(d) ((d) / __NFDBITS) -#define __FD_MASK(d) ((__fd_mask) (1UL << ((d) % __NFDBITS))) - -/* fd_set for select and pselect. */ -typedef struct - { - /* XPG4.2 requires this member name. Otherwise avoid the name - from the global namespace. */ -#ifdef __USE_XOPEN - __fd_mask fds_bits[__FD_SETSIZE / __NFDBITS]; -# define __FDS_BITS(set) ((set)->fds_bits) -#else - __fd_mask __fds_bits[__FD_SETSIZE / __NFDBITS]; -# define __FDS_BITS(set) ((set)->__fds_bits) -#endif - } fd_set; - -/* Maximum number of file descriptors in `fd_set'. */ -#define FD_SETSIZE __FD_SETSIZE - -#ifdef __USE_MISC -/* Sometimes the fd_set member is assumed to have this type. */ -typedef __fd_mask fd_mask; - -/* Number of bits per word of `fd_set' (some code assumes this is 32). */ -# define NFDBITS __NFDBITS -#endif - - -/* Access macros for `fd_set'. */ -#define FD_SET(fd, fdsetp) __FD_SET (fd, fdsetp) -#define FD_CLR(fd, fdsetp) __FD_CLR (fd, fdsetp) -#define FD_ISSET(fd, fdsetp) __FD_ISSET (fd, fdsetp) -#define FD_ZERO(fdsetp) __FD_ZERO (fdsetp) - - -__BEGIN_DECLS - -/* Check the first NFDS descriptors each in READFDS (if not NULL) for read - readiness, in WRITEFDS (if not NULL) for write readiness, and in EXCEPTFDS - (if not NULL) for exceptional conditions. If TIMEOUT is not NULL, time out - after waiting the interval specified therein. Returns the number of ready - descriptors, or -1 for errors. - - This function is a cancellation point and therefore not marked with - __THROW. */ -#ifndef __USE_TIME_BITS64 -extern int select (int __nfds, fd_set *__restrict __readfds, - fd_set *__restrict __writefds, - fd_set *__restrict __exceptfds, - struct timeval *__restrict __timeout); -#else -# ifdef __REDIRECT -extern int __REDIRECT (select, - (int __nfds, fd_set *__restrict __readfds, - fd_set *__restrict __writefds, - fd_set *__restrict __exceptfds, - struct timeval *__restrict __timeout), - __select64); -# else -# define select __select64 -# endif -#endif - -#ifdef __USE_XOPEN2K -/* Same as above only that the TIMEOUT value is given with higher - resolution and a sigmask which is been set temporarily. This version - should be used. - - This function is a cancellation point and therefore not marked with - __THROW. */ -# ifndef __USE_TIME_BITS64 -extern int pselect (int __nfds, fd_set *__restrict __readfds, - fd_set *__restrict __writefds, - fd_set *__restrict __exceptfds, - const struct timespec *__restrict __timeout, - const __sigset_t *__restrict __sigmask); -# else -# ifdef __REDIRECT -extern int __REDIRECT (pselect, - (int __nfds, fd_set *__restrict __readfds, - fd_set *__restrict __writefds, - fd_set *__restrict __exceptfds, - const struct timespec *__restrict __timeout, - const __sigset_t *__restrict __sigmask), - __pselect64); -# else -# define pselect __pselect64 -# endif -# endif -#endif - - -/* Define some inlines helping to catch common problems. */ -#if __USE_FORTIFY_LEVEL > 0 && defined __GNUC__ -# include -#endif - -__END_DECLS - -#endif /* sys/select.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@select.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@select.h.blob deleted file mode 100644 index f05cc13..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@select.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ttydefaults.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ttydefaults.h deleted file mode 100644 index 9be168b..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ttydefaults.h +++ /dev/null @@ -1,100 +0,0 @@ -/*- - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94 - */ - -/* - * System wide defaults for terminal state. Linux version. - */ -#ifndef _SYS_TTYDEFAULTS_H_ -#define _SYS_TTYDEFAULTS_H_ - -/* - * Defaults on "first" open. - */ -#define TTYDEF_IFLAG (BRKINT | ISTRIP | ICRNL | IMAXBEL | IXON | IXANY) -#define TTYDEF_OFLAG (OPOST | ONLCR | XTABS) -#define TTYDEF_LFLAG (ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL) -#define TTYDEF_CFLAG (CREAD | CS7 | PARENB | HUPCL) -#define TTYDEF_SPEED (B9600) - -/* - * Control Character Defaults - */ -#define CTRL(x) (x&037) -#define CEOF CTRL('d') -#ifdef _POSIX_VDISABLE -# define CEOL _POSIX_VDISABLE -#else -# define CEOL '\0' /* XXX avoid _POSIX_VDISABLE */ -#endif -#define CERASE 0177 -#define CINTR CTRL('c') -#ifdef _POSIX_VDISABLE -# define CSTATUS _POSIX_VDISABLE -#else -# define CSTATUS '\0' /* XXX avoid _POSIX_VDISABLE */ -#endif -#define CKILL CTRL('u') -#define CMIN 1 -#define CQUIT 034 /* FS, ^\ */ -#define CSUSP CTRL('z') -#define CTIME 0 -#define CDSUSP CTRL('y') -#define CSTART CTRL('q') -#define CSTOP CTRL('s') -#define CLNEXT CTRL('v') -#define CDISCARD CTRL('o') -#define CWERASE CTRL('w') -#define CREPRINT CTRL('r') -#define CEOT CEOF -/* compat */ -#define CBRK CEOL -#define CRPRNT CREPRINT -#define CFLUSH CDISCARD - -/* PROTECTED INCLUSION ENDS HERE */ -#endif /* !_SYS_TTYDEFAULTS_H_ */ - -/* - * #define TTYDEFCHARS to include an array of default control characters. - */ -#ifdef TTYDEFCHARS -cc_t ttydefchars[NCCS] = { - CEOF, CEOL, CEOL, CERASE, CWERASE, CKILL, CREPRINT, - _POSIX_VDISABLE, CINTR, CQUIT, CSUSP, CDSUSP, CSTART, CSTOP, CLNEXT, - CDISCARD, CMIN, CTIME, CSTATUS, _POSIX_VDISABLE -}; -#undef TTYDEFCHARS -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ttydefaults.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ttydefaults.h.blob deleted file mode 100644 index 7c302b8..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ttydefaults.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@types.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@types.h deleted file mode 100644 index 477a45f..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@types.h +++ /dev/null @@ -1,232 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * POSIX Standard: 2.6 Primitive System Data Types - */ - -#ifndef _SYS_TYPES_H -#define _SYS_TYPES_H 1 - -#include - -__BEGIN_DECLS - -#include - -#ifdef __USE_MISC -# ifndef __u_char_defined -typedef __u_char u_char; -typedef __u_short u_short; -typedef __u_int u_int; -typedef __u_long u_long; -typedef __quad_t quad_t; -typedef __u_quad_t u_quad_t; -typedef __fsid_t fsid_t; -# define __u_char_defined -# endif -typedef __loff_t loff_t; -#endif - -#ifndef __ino_t_defined -# ifndef __USE_FILE_OFFSET64 -typedef __ino_t ino_t; -# else -typedef __ino64_t ino_t; -# endif -# define __ino_t_defined -#endif -#if defined __USE_LARGEFILE64 && !defined __ino64_t_defined -typedef __ino64_t ino64_t; -# define __ino64_t_defined -#endif - -#ifndef __dev_t_defined -typedef __dev_t dev_t; -# define __dev_t_defined -#endif - -#ifndef __gid_t_defined -typedef __gid_t gid_t; -# define __gid_t_defined -#endif - -#ifndef __mode_t_defined -typedef __mode_t mode_t; -# define __mode_t_defined -#endif - -#ifndef __nlink_t_defined -typedef __nlink_t nlink_t; -# define __nlink_t_defined -#endif - -#ifndef __uid_t_defined -typedef __uid_t uid_t; -# define __uid_t_defined -#endif - -#ifndef __off_t_defined -# ifndef __USE_FILE_OFFSET64 -typedef __off_t off_t; -# else -typedef __off64_t off_t; -# endif -# define __off_t_defined -#endif -#if defined __USE_LARGEFILE64 && !defined __off64_t_defined -typedef __off64_t off64_t; -# define __off64_t_defined -#endif - -#ifndef __pid_t_defined -typedef __pid_t pid_t; -# define __pid_t_defined -#endif - -#if (defined __USE_XOPEN || defined __USE_XOPEN2K8) \ - && !defined __id_t_defined -typedef __id_t id_t; -# define __id_t_defined -#endif - -#ifndef __ssize_t_defined -typedef __ssize_t ssize_t; -# define __ssize_t_defined -#endif - -#ifdef __USE_MISC -# ifndef __daddr_t_defined -typedef __daddr_t daddr_t; -typedef __caddr_t caddr_t; -# define __daddr_t_defined -# endif -#endif - -#if (defined __USE_MISC || defined __USE_XOPEN) && !defined __key_t_defined -typedef __key_t key_t; -# define __key_t_defined -#endif - -#if defined __USE_XOPEN || defined __USE_XOPEN2K8 -# include -#endif -#include -#include -#include - -#ifdef __USE_XOPEN -# ifndef __useconds_t_defined -typedef __useconds_t useconds_t; -# define __useconds_t_defined -# endif -# ifndef __suseconds_t_defined -typedef __suseconds_t suseconds_t; -# define __suseconds_t_defined -# endif -#endif - -#define __need_size_t -#include - -#ifdef __USE_MISC -/* Old compatibility names for C types. */ -typedef unsigned long int ulong; -typedef unsigned short int ushort; -typedef unsigned int uint; -#endif - -/* These size-specific names are used by some of the inet code. */ - -#include - -/* These were defined by ISO C without the first `_'. */ -typedef __uint8_t u_int8_t; -typedef __uint16_t u_int16_t; -typedef __uint32_t u_int32_t; -typedef __uint64_t u_int64_t; - -#if __GNUC_PREREQ (2, 7) -typedef int register_t __attribute__ ((__mode__ (__word__))); -#else -typedef int register_t; -#endif - -/* Some code from BIND tests this macro to see if the types above are - defined. */ -#define __BIT_TYPES_DEFINED__ 1 - - -#ifdef __USE_MISC -/* In BSD is expected to define BYTE_ORDER. */ -# include - -/* It also defines `fd_set' and the FD_* macros for `select'. */ -# include -#endif /* Use misc. */ - - -#if (defined __USE_UNIX98 || defined __USE_XOPEN2K8) \ - && !defined __blksize_t_defined -typedef __blksize_t blksize_t; -# define __blksize_t_defined -#endif - -/* Types from the Large File Support interface. */ -#ifndef __USE_FILE_OFFSET64 -# ifndef __blkcnt_t_defined -typedef __blkcnt_t blkcnt_t; /* Type to count number of disk blocks. */ -# define __blkcnt_t_defined -# endif -# ifndef __fsblkcnt_t_defined -typedef __fsblkcnt_t fsblkcnt_t; /* Type to count file system blocks. */ -# define __fsblkcnt_t_defined -# endif -# ifndef __fsfilcnt_t_defined -typedef __fsfilcnt_t fsfilcnt_t; /* Type to count file system inodes. */ -# define __fsfilcnt_t_defined -# endif -#else -# ifndef __blkcnt_t_defined -typedef __blkcnt64_t blkcnt_t; /* Type to count number of disk blocks. */ -# define __blkcnt_t_defined -# endif -# ifndef __fsblkcnt_t_defined -typedef __fsblkcnt64_t fsblkcnt_t; /* Type to count file system blocks. */ -# define __fsblkcnt_t_defined -# endif -# ifndef __fsfilcnt_t_defined -typedef __fsfilcnt64_t fsfilcnt_t; /* Type to count file system inodes. */ -# define __fsfilcnt_t_defined -# endif -#endif - -#ifdef __USE_LARGEFILE64 -typedef __blkcnt64_t blkcnt64_t; /* Type to count number of disk blocks. */ -typedef __fsblkcnt64_t fsblkcnt64_t; /* Type to count file system blocks. */ -typedef __fsfilcnt64_t fsfilcnt64_t; /* Type to count file system inodes. */ -#endif - - -/* Now add the thread types. */ -#if defined __USE_POSIX199506 || defined __USE_UNIX98 -# include -#endif - -__END_DECLS - -#endif /* sys/types.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@types.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@types.h.blob deleted file mode 100644 index cbae794..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@types.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ucontext.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ucontext.h deleted file mode 100644 index 563d1d5..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ucontext.h +++ /dev/null @@ -1,262 +0,0 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H 1 - -#include - -#include -#include -#include - - -#ifdef __USE_MISC -# define __ctx(fld) fld -#else -# define __ctx(fld) __ ## fld -#endif - -#ifdef __x86_64__ - -/* Type for general register. */ -__extension__ typedef long long int greg_t; - -/* Number of general registers. */ -#define __NGREG 23 -#ifdef __USE_MISC -# define NGREG __NGREG -#endif - -/* Container for all general registers. */ -typedef greg_t gregset_t[__NGREG]; - -#ifdef __USE_GNU -/* Number of each register in the `gregset_t' array. */ -enum -{ - REG_R8 = 0, -# define REG_R8 REG_R8 - REG_R9, -# define REG_R9 REG_R9 - REG_R10, -# define REG_R10 REG_R10 - REG_R11, -# define REG_R11 REG_R11 - REG_R12, -# define REG_R12 REG_R12 - REG_R13, -# define REG_R13 REG_R13 - REG_R14, -# define REG_R14 REG_R14 - REG_R15, -# define REG_R15 REG_R15 - REG_RDI, -# define REG_RDI REG_RDI - REG_RSI, -# define REG_RSI REG_RSI - REG_RBP, -# define REG_RBP REG_RBP - REG_RBX, -# define REG_RBX REG_RBX - REG_RDX, -# define REG_RDX REG_RDX - REG_RAX, -# define REG_RAX REG_RAX - REG_RCX, -# define REG_RCX REG_RCX - REG_RSP, -# define REG_RSP REG_RSP - REG_RIP, -# define REG_RIP REG_RIP - REG_EFL, -# define REG_EFL REG_EFL - REG_CSGSFS, /* Actually short cs, gs, fs, __pad0. */ -# define REG_CSGSFS REG_CSGSFS - REG_ERR, -# define REG_ERR REG_ERR - REG_TRAPNO, -# define REG_TRAPNO REG_TRAPNO - REG_OLDMASK, -# define REG_OLDMASK REG_OLDMASK - REG_CR2 -# define REG_CR2 REG_CR2 -}; -#endif - -struct _libc_fpxreg -{ - unsigned short int __ctx(significand)[4]; - unsigned short int __ctx(exponent); - unsigned short int __glibc_reserved1[3]; -}; - -struct _libc_xmmreg -{ - __uint32_t __ctx(element)[4]; -}; - -struct _libc_fpstate -{ - /* 64-bit FXSAVE format. */ - __uint16_t __ctx(cwd); - __uint16_t __ctx(swd); - __uint16_t __ctx(ftw); - __uint16_t __ctx(fop); - __uint64_t __ctx(rip); - __uint64_t __ctx(rdp); - __uint32_t __ctx(mxcsr); - __uint32_t __ctx(mxcr_mask); - struct _libc_fpxreg _st[8]; - struct _libc_xmmreg _xmm[16]; - __uint32_t __glibc_reserved1[24]; -}; - -/* Structure to describe FPU registers. */ -typedef struct _libc_fpstate *fpregset_t; - -/* Context to describe whole processor state. */ -typedef struct - { - gregset_t __ctx(gregs); - /* Note that fpregs is a pointer. */ - fpregset_t __ctx(fpregs); - __extension__ unsigned long long __reserved1 [8]; -} mcontext_t; - -/* Userlevel context. */ -typedef struct ucontext_t - { - unsigned long int __ctx(uc_flags); - struct ucontext_t *uc_link; - stack_t uc_stack; - mcontext_t uc_mcontext; - sigset_t uc_sigmask; - struct _libc_fpstate __fpregs_mem; - __extension__ unsigned long long int __ssp[4]; - } ucontext_t; - -#else /* !__x86_64__ */ - -/* Type for general register. */ -typedef int greg_t; - -/* Number of general registers. */ -#define __NGREG 19 -#ifdef __USE_MISC -# define NGREG __NGREG -#endif - -/* Container for all general registers. */ -typedef greg_t gregset_t[__NGREG]; - -#ifdef __USE_GNU -/* Number of each register is the `gregset_t' array. */ -enum -{ - REG_GS = 0, -# define REG_GS REG_GS - REG_FS, -# define REG_FS REG_FS - REG_ES, -# define REG_ES REG_ES - REG_DS, -# define REG_DS REG_DS - REG_EDI, -# define REG_EDI REG_EDI - REG_ESI, -# define REG_ESI REG_ESI - REG_EBP, -# define REG_EBP REG_EBP - REG_ESP, -# define REG_ESP REG_ESP - REG_EBX, -# define REG_EBX REG_EBX - REG_EDX, -# define REG_EDX REG_EDX - REG_ECX, -# define REG_ECX REG_ECX - REG_EAX, -# define REG_EAX REG_EAX - REG_TRAPNO, -# define REG_TRAPNO REG_TRAPNO - REG_ERR, -# define REG_ERR REG_ERR - REG_EIP, -# define REG_EIP REG_EIP - REG_CS, -# define REG_CS REG_CS - REG_EFL, -# define REG_EFL REG_EFL - REG_UESP, -# define REG_UESP REG_UESP - REG_SS -# define REG_SS REG_SS -}; -#endif - -/* Definitions taken from the kernel headers. */ -struct _libc_fpreg -{ - unsigned short int __ctx(significand)[4]; - unsigned short int __ctx(exponent); -}; - -struct _libc_fpstate -{ - unsigned long int __ctx(cw); - unsigned long int __ctx(sw); - unsigned long int __ctx(tag); - unsigned long int __ctx(ipoff); - unsigned long int __ctx(cssel); - unsigned long int __ctx(dataoff); - unsigned long int __ctx(datasel); - struct _libc_fpreg _st[8]; - unsigned long int __ctx(status); -}; - -/* Structure to describe FPU registers. */ -typedef struct _libc_fpstate *fpregset_t; - -/* Context to describe whole processor state. */ -typedef struct - { - gregset_t __ctx(gregs); - /* Due to Linux's history we have to use a pointer here. The SysV/i386 - ABI requires a struct with the values. */ - fpregset_t __ctx(fpregs); - unsigned long int __ctx(oldmask); - unsigned long int __ctx(cr2); - } mcontext_t; - -/* Userlevel context. */ -typedef struct ucontext_t - { - unsigned long int __ctx(uc_flags); - struct ucontext_t *uc_link; - stack_t uc_stack; - mcontext_t uc_mcontext; - sigset_t uc_sigmask; - struct _libc_fpstate __fpregs_mem; - unsigned long int __ssp[4]; - } ucontext_t; - -#endif /* !__x86_64__ */ - -#undef __ctx - -#endif /* sys/ucontext.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ucontext.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ucontext.h.blob deleted file mode 100644 index c02cdb3..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@ucontext.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@wait.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@wait.h deleted file mode 100644 index 5325bfa..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@wait.h +++ /dev/null @@ -1,180 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * POSIX Standard: 3.2.1 Wait for Process Termination - */ - -#ifndef _SYS_WAIT_H -#define _SYS_WAIT_H 1 - -#include - -__BEGIN_DECLS - -#include -#ifndef __pid_t_defined -typedef __pid_t pid_t; -# define __pid_t_defined -#endif - -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -# include -#endif - -#if defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8 -/* Some older standards require the contents of struct rusage to be - defined here. */ -# include -#endif - -/* These macros could also be defined in . */ -#if !defined _STDLIB_H || (!defined __USE_XOPEN && !defined __USE_XOPEN2K8) -/* This will define the `W*' macros for the flag - bits to `waitpid', `wait3', and `wait4'. */ -# include - -/* This will define all the `__W*' macros. */ -# include - -# define WEXITSTATUS(status) __WEXITSTATUS (status) -# define WTERMSIG(status) __WTERMSIG (status) -# define WSTOPSIG(status) __WSTOPSIG (status) -# define WIFEXITED(status) __WIFEXITED (status) -# define WIFSIGNALED(status) __WIFSIGNALED (status) -# define WIFSTOPPED(status) __WIFSTOPPED (status) -# ifdef __WIFCONTINUED -# define WIFCONTINUED(status) __WIFCONTINUED (status) -# endif -#endif /* not included. */ - -#ifdef __USE_MISC -# define WCOREFLAG __WCOREFLAG -# define WCOREDUMP(status) __WCOREDUMP (status) -# define W_EXITCODE(ret, sig) __W_EXITCODE (ret, sig) -# define W_STOPCODE(sig) __W_STOPCODE (sig) -#endif - -/* The following values are used by the `waitid' function. */ -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -typedef enum -{ - P_ALL, /* Wait for any child. */ - P_PID, /* Wait for specified process. */ - P_PGID /* Wait for members of process group. */ -} idtype_t; -#endif - - -/* Wait for a child to die. When one does, put its status in *STAT_LOC - and return its process ID. For errors, return (pid_t) -1. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern __pid_t wait (int *__stat_loc); - -#ifdef __USE_MISC -/* Special values for the PID argument to `waitpid' and `wait4'. */ -# define WAIT_ANY (-1) /* Any process. */ -# define WAIT_MYPGRP 0 /* Any process in my process group. */ -#endif - -/* Wait for a child matching PID to die. - If PID is greater than 0, match any process whose process ID is PID. - If PID is (pid_t) -1, match any process. - If PID is (pid_t) 0, match any process with the - same process group as the current process. - If PID is less than -1, match any process whose - process group is the absolute value of PID. - If the WNOHANG bit is set in OPTIONS, and that child - is not already dead, return (pid_t) 0. If successful, - return PID and store the dead child's status in STAT_LOC. - Return (pid_t) -1 for errors. If the WUNTRACED bit is - set in OPTIONS, return status for stopped children; otherwise don't. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern __pid_t waitpid (__pid_t __pid, int *__stat_loc, int __options); - -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -# ifndef __id_t_defined -typedef __id_t id_t; -# define __id_t_defined -# endif - -# include - -/* Wait for a childing matching IDTYPE and ID to change the status and - place appropriate information in *INFOP. - If IDTYPE is P_PID, match any process whose process ID is ID. - If IDTYPE is P_PGID, match any process whose process group is ID. - If IDTYPE is P_ALL, match any process. - If the WNOHANG bit is set in OPTIONS, and that child - is not already dead, clear *INFOP and return 0. If successful, store - exit code and status in *INFOP. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern int waitid (idtype_t __idtype, __id_t __id, siginfo_t *__infop, - int __options); -#endif - -#if defined __USE_MISC \ - || (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K) -/* This being here makes the prototypes valid whether or not - we have already included to define `struct rusage'. */ -struct rusage; - -/* Wait for a child to exit. When one does, put its status in *STAT_LOC and - return its process ID. For errors return (pid_t) -1. If USAGE is not - nil, store information about the child's resource usage there. If the - WUNTRACED bit is set in OPTIONS, return status for stopped children; - otherwise don't. */ -# ifndef __USE_TIME_BITS64 -extern __pid_t wait3 (int *__stat_loc, int __options, - struct rusage * __usage) __THROWNL; -# else -# ifdef __REDIRECT_NTHNL -extern __pid_t __REDIRECT_NTHNL (wait3, (int *__stat_loc, int __options, - struct rusage * __usage), - __wait3_time64); -# else -# define wait3 __wait3_time64 -# endif -# endif -#endif - -#ifdef __USE_MISC -# ifndef __USE_TIME_BITS64 -/* PID is like waitpid. Other args are like wait3. */ -extern __pid_t wait4 (__pid_t __pid, int *__stat_loc, int __options, - struct rusage *__usage) __THROWNL; -# else -# ifdef __REDIRECT_NTHNL -extern __pid_t __REDIRECT_NTHNL (wait4, (__pid_t __pid, int *__stat_loc, - int __options, struct rusage *__usage), - __wait4_time64); -# else -# define wait4 __wait4_time64 -# endif -# endif -#endif /* Use misc. */ - - -__END_DECLS - -#endif /* sys/wait.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@wait.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@wait.h.blob deleted file mode 100644 index d0280d6..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@sys@wait.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@termios.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@termios.h deleted file mode 100644 index 8e05973..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@termios.h +++ /dev/null @@ -1,109 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * POSIX Standard: 7.1-2 General Terminal Interface - */ - -#ifndef _TERMIOS_H -#define _TERMIOS_H 1 - -#include -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -/* We need `pid_t'. */ -# include -# ifndef __pid_t_defined -typedef __pid_t pid_t; -# define __pid_t_defined -# endif -#endif - -__BEGIN_DECLS - -/* Get the system-dependent definitions of `struct termios', `tcflag_t', - `cc_t', `speed_t', and all the macros specifying the flag bits. */ -#include - -#ifdef __USE_MISC -/* Compare a character C to a value VAL from the `c_cc' array in a - `struct termios'. If VAL is _POSIX_VDISABLE, no character can match it. */ -# define CCEQ(val, c) ((c) == (val) && (val) != _POSIX_VDISABLE) -#endif - -/* Return the output baud rate stored in *TERMIOS_P. */ -extern speed_t cfgetospeed (const struct termios *__termios_p) __THROW; - -/* Return the input baud rate stored in *TERMIOS_P. */ -extern speed_t cfgetispeed (const struct termios *__termios_p) __THROW; - -/* Set the output baud rate stored in *TERMIOS_P to SPEED. */ -extern int cfsetospeed (struct termios *__termios_p, speed_t __speed) __THROW; - -/* Set the input baud rate stored in *TERMIOS_P to SPEED. */ -extern int cfsetispeed (struct termios *__termios_p, speed_t __speed) __THROW; - -#ifdef __USE_MISC -/* Set both the input and output baud rates in *TERMIOS_OP to SPEED. */ -extern int cfsetspeed (struct termios *__termios_p, speed_t __speed) __THROW; -#endif - - -/* Put the state of FD into *TERMIOS_P. */ -extern int tcgetattr (int __fd, struct termios *__termios_p) __THROW; - -/* Set the state of FD to *TERMIOS_P. - Values for OPTIONAL_ACTIONS (TCSA*) are in . */ -extern int tcsetattr (int __fd, int __optional_actions, - const struct termios *__termios_p) __THROW; - - -#ifdef __USE_MISC -/* Set *TERMIOS_P to indicate raw mode. */ -extern void cfmakeraw (struct termios *__termios_p) __THROW; -#endif - -/* Send zero bits on FD. */ -extern int tcsendbreak (int __fd, int __duration) __THROW; - -/* Wait for pending output to be written on FD. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern int tcdrain (int __fd); - -/* Flush pending data on FD. - Values for QUEUE_SELECTOR (TC{I,O,IO}FLUSH) are in . */ -extern int tcflush (int __fd, int __queue_selector) __THROW; - -/* Suspend or restart transmission on FD. - Values for ACTION (TC[IO]{OFF,ON}) are in . */ -extern int tcflow (int __fd, int __action) __THROW; - - -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -/* Get process group ID for session leader for controlling terminal FD. */ -extern __pid_t tcgetsid (int __fd) __THROW; -#endif - - -#ifdef __USE_MISC -# include -#endif - -__END_DECLS - -#endif /* termios.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@termios.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@termios.h.blob deleted file mode 100644 index 50d5c32..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@termios.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@unistd.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@unistd.h deleted file mode 100644 index 7a61ff5..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@unistd.h +++ /dev/null @@ -1,1212 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * POSIX Standard: 2.10 Symbolic Constants - */ - -#ifndef _UNISTD_H -#define _UNISTD_H 1 - -#include - -__BEGIN_DECLS - -/* These may be used to determine what facilities are present at compile time. - Their values can be obtained at run time from `sysconf'. */ - -#ifdef __USE_XOPEN2K8 -/* POSIX Standard approved as ISO/IEC 9945-1 as of September 2008. */ -# define _POSIX_VERSION 200809L -#elif defined __USE_XOPEN2K -/* POSIX Standard approved as ISO/IEC 9945-1 as of December 2001. */ -# define _POSIX_VERSION 200112L -#elif defined __USE_POSIX199506 -/* POSIX Standard approved as ISO/IEC 9945-1 as of June 1995. */ -# define _POSIX_VERSION 199506L -#elif defined __USE_POSIX199309 -/* POSIX Standard approved as ISO/IEC 9945-1 as of September 1993. */ -# define _POSIX_VERSION 199309L -#else -/* POSIX Standard approved as ISO/IEC 9945-1 as of September 1990. */ -# define _POSIX_VERSION 199009L -#endif - -/* These are not #ifdef __USE_POSIX2 because they are - in the theoretically application-owned namespace. */ - -#ifdef __USE_XOPEN2K8 -# define __POSIX2_THIS_VERSION 200809L -/* The utilities on GNU systems also correspond to this version. */ -#elif defined __USE_XOPEN2K -/* The utilities on GNU systems also correspond to this version. */ -# define __POSIX2_THIS_VERSION 200112L -#elif defined __USE_POSIX199506 -/* The utilities on GNU systems also correspond to this version. */ -# define __POSIX2_THIS_VERSION 199506L -#else -/* The utilities on GNU systems also correspond to this version. */ -# define __POSIX2_THIS_VERSION 199209L -#endif - -/* The utilities on GNU systems also correspond to this version. */ -#define _POSIX2_VERSION __POSIX2_THIS_VERSION - -/* This symbol was required until the 2001 edition of POSIX. */ -#define _POSIX2_C_VERSION __POSIX2_THIS_VERSION - -/* If defined, the implementation supports the - C Language Bindings Option. */ -#define _POSIX2_C_BIND __POSIX2_THIS_VERSION - -/* If defined, the implementation supports the - C Language Development Utilities Option. */ -#define _POSIX2_C_DEV __POSIX2_THIS_VERSION - -/* If defined, the implementation supports the - Software Development Utilities Option. */ -#define _POSIX2_SW_DEV __POSIX2_THIS_VERSION - -/* If defined, the implementation supports the - creation of locales with the localedef utility. */ -#define _POSIX2_LOCALEDEF __POSIX2_THIS_VERSION - -/* X/Open version number to which the library conforms. It is selectable. */ -#ifdef __USE_XOPEN2K8 -# define _XOPEN_VERSION 700 -#elif defined __USE_XOPEN2K -# define _XOPEN_VERSION 600 -#elif defined __USE_UNIX98 -# define _XOPEN_VERSION 500 -#else -# define _XOPEN_VERSION 4 -#endif - -/* Commands and utilities from XPG4 are available. */ -#define _XOPEN_XCU_VERSION 4 - -/* We are compatible with the old published standards as well. */ -#define _XOPEN_XPG2 1 -#define _XOPEN_XPG3 1 -#define _XOPEN_XPG4 1 - -/* The X/Open Unix extensions are available. */ -#define _XOPEN_UNIX 1 - -/* The enhanced internationalization capabilities according to XPG4.2 - are present. */ -#define _XOPEN_ENH_I18N 1 - -/* The legacy interfaces are also available. */ -#define _XOPEN_LEGACY 1 - - -/* Get values of POSIX options: - - If these symbols are defined, the corresponding features are - always available. If not, they may be available sometimes. - The current values can be obtained with `sysconf'. - - _POSIX_JOB_CONTROL Job control is supported. - _POSIX_SAVED_IDS Processes have a saved set-user-ID - and a saved set-group-ID. - _POSIX_REALTIME_SIGNALS Real-time, queued signals are supported. - _POSIX_PRIORITY_SCHEDULING Priority scheduling is supported. - _POSIX_TIMERS POSIX.4 clocks and timers are supported. - _POSIX_ASYNCHRONOUS_IO Asynchronous I/O is supported. - _POSIX_PRIORITIZED_IO Prioritized asynchronous I/O is supported. - _POSIX_SYNCHRONIZED_IO Synchronizing file data is supported. - _POSIX_FSYNC The fsync function is present. - _POSIX_MAPPED_FILES Mapping of files to memory is supported. - _POSIX_MEMLOCK Locking of all memory is supported. - _POSIX_MEMLOCK_RANGE Locking of ranges of memory is supported. - _POSIX_MEMORY_PROTECTION Setting of memory protections is supported. - _POSIX_MESSAGE_PASSING POSIX.4 message queues are supported. - _POSIX_SEMAPHORES POSIX.4 counting semaphores are supported. - _POSIX_SHARED_MEMORY_OBJECTS POSIX.4 shared memory objects are supported. - _POSIX_THREADS POSIX.1c pthreads are supported. - _POSIX_THREAD_ATTR_STACKADDR Thread stack address attribute option supported. - _POSIX_THREAD_ATTR_STACKSIZE Thread stack size attribute option supported. - _POSIX_THREAD_SAFE_FUNCTIONS Thread-safe functions are supported. - _POSIX_THREAD_PRIORITY_SCHEDULING - POSIX.1c thread execution scheduling supported. - _POSIX_THREAD_PRIO_INHERIT Thread priority inheritance option supported. - _POSIX_THREAD_PRIO_PROTECT Thread priority protection option supported. - _POSIX_THREAD_PROCESS_SHARED Process-shared synchronization supported. - _POSIX_PII Protocol-independent interfaces are supported. - _POSIX_PII_XTI XTI protocol-indep. interfaces are supported. - _POSIX_PII_SOCKET Socket protocol-indep. interfaces are supported. - _POSIX_PII_INTERNET Internet family of protocols supported. - _POSIX_PII_INTERNET_STREAM Connection-mode Internet protocol supported. - _POSIX_PII_INTERNET_DGRAM Connectionless Internet protocol supported. - _POSIX_PII_OSI ISO/OSI family of protocols supported. - _POSIX_PII_OSI_COTS Connection-mode ISO/OSI service supported. - _POSIX_PII_OSI_CLTS Connectionless ISO/OSI service supported. - _POSIX_POLL Implementation supports `poll' function. - _POSIX_SELECT Implementation supports `select' and `pselect'. - - _XOPEN_REALTIME X/Open realtime support is available. - _XOPEN_REALTIME_THREADS X/Open realtime thread support is available. - _XOPEN_SHM Shared memory interface according to XPG4.2. - - _XBS5_ILP32_OFF32 Implementation provides environment with 32-bit - int, long, pointer, and off_t types. - _XBS5_ILP32_OFFBIG Implementation provides environment with 32-bit - int, long, and pointer and off_t with at least - 64 bits. - _XBS5_LP64_OFF64 Implementation provides environment with 32-bit - int, and 64-bit long, pointer, and off_t types. - _XBS5_LPBIG_OFFBIG Implementation provides environment with at - least 32 bits int and long, pointer, and off_t - with at least 64 bits. - - If any of these symbols is defined as -1, the corresponding option is not - true for any file. If any is defined as other than -1, the corresponding - option is true for all files. If a symbol is not defined at all, the value - for a specific file can be obtained from `pathconf' and `fpathconf'. - - _POSIX_CHOWN_RESTRICTED Only the super user can use `chown' to change - the owner of a file. `chown' can only be used - to change the group ID of a file to a group of - which the calling process is a member. - _POSIX_NO_TRUNC Pathname components longer than - NAME_MAX generate an error. - _POSIX_VDISABLE If defined, if the value of an element of the - `c_cc' member of `struct termios' is - _POSIX_VDISABLE, no character will have the - effect associated with that element. - _POSIX_SYNC_IO Synchronous I/O may be performed. - _POSIX_ASYNC_IO Asynchronous I/O may be performed. - _POSIX_PRIO_IO Prioritized Asynchronous I/O may be performed. - - Support for the Large File Support interface is not generally available. - If it is available the following constants are defined to one. - _LFS64_LARGEFILE Low-level I/O supports large files. - _LFS64_STDIO Standard I/O supports large files. - */ - -#include - -/* Get the environment definitions from Unix98. */ -#if defined __USE_UNIX98 || defined __USE_XOPEN2K -# include -#endif - -/* Standard file descriptors. */ -#define STDIN_FILENO 0 /* Standard input. */ -#define STDOUT_FILENO 1 /* Standard output. */ -#define STDERR_FILENO 2 /* Standard error output. */ - - -/* All functions that are not declared anywhere else. */ - -#include - -#ifndef __ssize_t_defined -typedef __ssize_t ssize_t; -# define __ssize_t_defined -#endif - -#define __need_size_t -#define __need_NULL -#include - -#if defined __USE_XOPEN || defined __USE_XOPEN2K -/* The Single Unix specification says that some more types are - available here. */ -# ifndef __gid_t_defined -typedef __gid_t gid_t; -# define __gid_t_defined -# endif - -# ifndef __uid_t_defined -typedef __uid_t uid_t; -# define __uid_t_defined -# endif - -# ifndef __off_t_defined -# ifndef __USE_FILE_OFFSET64 -typedef __off_t off_t; -# else -typedef __off64_t off_t; -# endif -# define __off_t_defined -# endif -# if defined __USE_LARGEFILE64 && !defined __off64_t_defined -typedef __off64_t off64_t; -# define __off64_t_defined -# endif - -# ifndef __useconds_t_defined -typedef __useconds_t useconds_t; -# define __useconds_t_defined -# endif - -# ifndef __pid_t_defined -typedef __pid_t pid_t; -# define __pid_t_defined -# endif -#endif /* X/Open */ - -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K -# ifndef __intptr_t_defined -typedef __intptr_t intptr_t; -# define __intptr_t_defined -# endif -#endif - -#if defined __USE_MISC || defined __USE_XOPEN -# ifndef __socklen_t_defined -typedef __socklen_t socklen_t; -# define __socklen_t_defined -# endif -#endif - -/* Values for the second argument to access. - These may be OR'd together. */ -#define R_OK 4 /* Test for read permission. */ -#define W_OK 2 /* Test for write permission. */ -#define X_OK 1 /* Test for execute permission. */ -#define F_OK 0 /* Test for existence. */ - -/* Test for access to NAME using the real UID and real GID. */ -extern int access (const char *__name, int __type) __THROW __nonnull ((1)); - -#ifdef __USE_GNU -/* Test for access to NAME using the effective UID and GID - (as normal file operations use). */ -extern int euidaccess (const char *__name, int __type) - __THROW __nonnull ((1)); - -/* An alias for `euidaccess', used by some other systems. */ -extern int eaccess (const char *__name, int __type) - __THROW __nonnull ((1)); - -/* Execute program relative to a directory file descriptor. */ -extern int execveat (int __fd, const char *__path, char *const __argv[], - char *const __envp[], int __flags) - __THROW __nonnull ((2, 3)); -#endif - -#ifdef __USE_ATFILE -/* Test for access to FILE relative to the directory FD is open on. - If AT_EACCESS is set in FLAG, then use effective IDs like `eaccess', - otherwise use real IDs like `access'. */ -extern int faccessat (int __fd, const char *__file, int __type, int __flag) - __THROW __nonnull ((2)) __wur; -#endif /* Use GNU. */ - - -/* Values for the WHENCE argument to lseek. */ -#ifndef _STDIO_H /* has the same definitions. */ -# define SEEK_SET 0 /* Seek from beginning of file. */ -# define SEEK_CUR 1 /* Seek from current position. */ -# define SEEK_END 2 /* Seek from end of file. */ -# ifdef __USE_GNU -# define SEEK_DATA 3 /* Seek to next data. */ -# define SEEK_HOLE 4 /* Seek to next hole. */ -# endif -#endif - -#if defined __USE_MISC && !defined L_SET -/* Old BSD names for the same constants; just for compatibility. */ -# define L_SET SEEK_SET -# define L_INCR SEEK_CUR -# define L_XTND SEEK_END -#endif - - -/* Move FD's file position to OFFSET bytes from the - beginning of the file (if WHENCE is SEEK_SET), - the current position (if WHENCE is SEEK_CUR), - or the end of the file (if WHENCE is SEEK_END). - Return the new file position. */ -#ifndef __USE_FILE_OFFSET64 -extern __off_t lseek (int __fd, __off_t __offset, int __whence) __THROW; -#else -# ifdef __REDIRECT_NTH -extern __off64_t __REDIRECT_NTH (lseek, - (int __fd, __off64_t __offset, int __whence), - lseek64); -# else -# define lseek lseek64 -# endif -#endif -#ifdef __USE_LARGEFILE64 -extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) - __THROW; -#endif - -/* Close the file descriptor FD. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern int close (int __fd); - -#ifdef __USE_MISC -/* Close all open file descriptors greater than or equal to LOWFD. - Negative LOWFD is clamped to 0. */ -extern void closefrom (int __lowfd) __THROW; -#endif - -/* Read NBYTES into BUF from FD. Return the - number read, -1 for errors or 0 for EOF. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __wur - __fortified_attr_access (__write_only__, 2, 3); - -/* Write N bytes of BUF to FD. Return the number written, or -1. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur - __attr_access ((__read_only__, 2, 3)); - -#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 -# ifndef __USE_FILE_OFFSET64 -/* Read NBYTES into BUF from FD at the given position OFFSET without - changing the file pointer. Return the number read, -1 for errors - or 0 for EOF. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, - __off_t __offset) __wur - __fortified_attr_access (__write_only__, 2, 3); - -/* Write N bytes of BUF to FD at the given position OFFSET without - changing the file pointer. Return the number written, or -1. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern ssize_t pwrite (int __fd, const void *__buf, size_t __n, - __off_t __offset) __wur - __attr_access ((__read_only__, 2, 3)); - -# else -# ifdef __REDIRECT -extern ssize_t __REDIRECT (pread, (int __fd, void *__buf, size_t __nbytes, - __off64_t __offset), - pread64) __wur - __fortified_attr_access (__write_only__, 2, 3); -extern ssize_t __REDIRECT (pwrite, (int __fd, const void *__buf, - size_t __nbytes, __off64_t __offset), - pwrite64) __wur - __attr_access ((__read_only__, 2, 3)); -# else -# define pread pread64 -# define pwrite pwrite64 -# endif -# endif - -# ifdef __USE_LARGEFILE64 -/* Read NBYTES into BUF from FD at the given position OFFSET without - changing the file pointer. Return the number read, -1 for errors - or 0 for EOF. */ -extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, - __off64_t __offset) __wur - __fortified_attr_access (__write_only__, 2, 3); -/* Write N bytes of BUF to FD at the given position OFFSET without - changing the file pointer. Return the number written, or -1. */ -extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n, - __off64_t __offset) __wur - __attr_access ((__read_only__, 2, 3)); -# endif -#endif - -/* Create a one-way communication channel (pipe). - If successful, two file descriptors are stored in PIPEDES; - bytes written on PIPEDES[1] can be read from PIPEDES[0]. - Returns 0 if successful, -1 if not. */ -extern int pipe (int __pipedes[2]) __THROW __wur; - -#ifdef __USE_GNU -/* Same as pipe but apply flags passed in FLAGS to the new file - descriptors. */ -extern int pipe2 (int __pipedes[2], int __flags) __THROW __wur; -#endif - -/* Schedule an alarm. In SECONDS seconds, the process will get a SIGALRM. - If SECONDS is zero, any currently scheduled alarm will be cancelled. - The function returns the number of seconds remaining until the last - alarm scheduled would have signaled, or zero if there wasn't one. - There is no return value to indicate an error, but you can set `errno' - to 0 and check its value after calling `alarm', and this might tell you. - The signal may come late due to processor scheduling. */ -extern unsigned int alarm (unsigned int __seconds) __THROW; - -/* Make the process sleep for SECONDS seconds, or until a signal arrives - and is not ignored. The function returns the number of seconds less - than SECONDS which it actually slept (thus zero if it slept the full time). - If a signal handler does a `longjmp' or modifies the handling of the - SIGALRM signal while inside `sleep' call, the handling of the SIGALRM - signal afterwards is undefined. There is no return value to indicate - error, but if `sleep' returns SECONDS, it probably didn't work. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern unsigned int sleep (unsigned int __seconds); - -#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) \ - || defined __USE_MISC -/* Set an alarm to go off (generating a SIGALRM signal) in VALUE - microseconds. If INTERVAL is nonzero, when the alarm goes off, the - timer is reset to go off every INTERVAL microseconds thereafter. - Returns the number of microseconds remaining before the alarm. */ -extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) - __THROW; - -/* Sleep USECONDS microseconds, or until a signal arrives that is not blocked - or ignored. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern int usleep (__useconds_t __useconds); -#endif - - -/* Suspend the process until a signal arrives. - This always returns -1 and sets `errno' to EINTR. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern int pause (void); - - -/* Change the owner and group of FILE. */ -extern int chown (const char *__file, __uid_t __owner, __gid_t __group) - __THROW __nonnull ((1)) __wur; - -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -/* Change the owner and group of the file that FD is open on. */ -extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __THROW __wur; - - -/* Change owner and group of FILE, if it is a symbolic - link the ownership of the symbolic link is changed. */ -extern int lchown (const char *__file, __uid_t __owner, __gid_t __group) - __THROW __nonnull ((1)) __wur; - -#endif /* Use X/Open Unix. */ - -#ifdef __USE_ATFILE -/* Change the owner and group of FILE relative to the directory FD is open - on. */ -extern int fchownat (int __fd, const char *__file, __uid_t __owner, - __gid_t __group, int __flag) - __THROW __nonnull ((2)) __wur; -#endif /* Use GNU. */ - -/* Change the process's working directory to PATH. */ -extern int chdir (const char *__path) __THROW __nonnull ((1)) __wur; - -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -/* Change the process's working directory to the one FD is open on. */ -extern int fchdir (int __fd) __THROW __wur; -#endif - -/* Get the pathname of the current working directory, - and put it in SIZE bytes of BUF. Returns NULL if the - directory couldn't be determined or SIZE was too small. - If successful, returns BUF. In GNU, if BUF is NULL, - an array is allocated with `malloc'; the array is SIZE - bytes long, unless SIZE == 0, in which case it is as - big as necessary. */ -extern char *getcwd (char *__buf, size_t __size) __THROW __wur; - -#ifdef __USE_GNU -/* Return a malloc'd string containing the current directory name. - If the environment variable `PWD' is set, and its value is correct, - that value is used. */ -extern char *get_current_dir_name (void) __THROW; -#endif - -#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) \ - || defined __USE_MISC -/* Put the absolute pathname of the current working directory in BUF. - If successful, return BUF. If not, put an error message in - BUF and return NULL. BUF should be at least PATH_MAX bytes long. */ -extern char *getwd (char *__buf) - __THROW __nonnull ((1)) __attribute_deprecated__ __wur - __attr_access ((__write_only__, 1)); -#endif - - -/* Duplicate FD, returning a new file descriptor on the same file. */ -extern int dup (int __fd) __THROW __wur; - -/* Duplicate FD to FD2, closing FD2 and making it open on the same file. */ -extern int dup2 (int __fd, int __fd2) __THROW; - -#ifdef __USE_GNU -/* Duplicate FD to FD2, closing FD2 and making it open on the same - file while setting flags according to FLAGS. */ -extern int dup3 (int __fd, int __fd2, int __flags) __THROW; -#endif - -/* NULL-terminated array of "NAME=VALUE" environment variables. */ -extern char **__environ; -#ifdef __USE_GNU -extern char **environ; -#endif - - -/* Replace the current process, executing PATH with arguments ARGV and - environment ENVP. ARGV and ENVP are terminated by NULL pointers. */ -extern int execve (const char *__path, char *const __argv[], - char *const __envp[]) __THROW __nonnull ((1, 2)); - -#ifdef __USE_XOPEN2K8 -/* Execute the file FD refers to, overlaying the running program image. - ARGV and ENVP are passed to the new program, as for `execve'. */ -extern int fexecve (int __fd, char *const __argv[], char *const __envp[]) - __THROW __nonnull ((2)); -#endif - - -/* Execute PATH with arguments ARGV and environment from `environ'. */ -extern int execv (const char *__path, char *const __argv[]) - __THROW __nonnull ((1, 2)); - -/* Execute PATH with all arguments after PATH until a NULL pointer, - and the argument after that for environment. */ -extern int execle (const char *__path, const char *__arg, ...) - __THROW __nonnull ((1, 2)); - -/* Execute PATH with all arguments after PATH until - a NULL pointer and environment from `environ'. */ -extern int execl (const char *__path, const char *__arg, ...) - __THROW __nonnull ((1, 2)); - -/* Execute FILE, searching in the `PATH' environment variable if it contains - no slashes, with arguments ARGV and environment from `environ'. */ -extern int execvp (const char *__file, char *const __argv[]) - __THROW __nonnull ((1, 2)); - -/* Execute FILE, searching in the `PATH' environment variable if - it contains no slashes, with all arguments after FILE until a - NULL pointer and environment from `environ'. */ -extern int execlp (const char *__file, const char *__arg, ...) - __THROW __nonnull ((1, 2)); - -#ifdef __USE_GNU -/* Execute FILE, searching in the `PATH' environment variable if it contains - no slashes, with arguments ARGV and environment from `environ'. */ -extern int execvpe (const char *__file, char *const __argv[], - char *const __envp[]) - __THROW __nonnull ((1, 2)); -#endif - - -#if defined __USE_MISC || defined __USE_XOPEN -/* Add INC to priority of the current process. */ -extern int nice (int __inc) __THROW __wur; -#endif - - -/* Terminate program execution with the low-order 8 bits of STATUS. */ -extern void _exit (int __status) __attribute__ ((__noreturn__)); - - -/* Get the `_PC_*' symbols for the NAME argument to `pathconf' and `fpathconf'; - the `_SC_*' symbols for the NAME argument to `sysconf'; - and the `_CS_*' symbols for the NAME argument to `confstr'. */ -#include - -/* Get file-specific configuration information about PATH. */ -extern long int pathconf (const char *__path, int __name) - __THROW __nonnull ((1)); - -/* Get file-specific configuration about descriptor FD. */ -extern long int fpathconf (int __fd, int __name) __THROW; - -/* Get the value of the system variable NAME. */ -extern long int sysconf (int __name) __THROW; - -#ifdef __USE_POSIX2 -/* Get the value of the string-valued system variable NAME. */ -extern size_t confstr (int __name, char *__buf, size_t __len) __THROW - __fortified_attr_access (__write_only__, 2, 3); -#endif - - -/* Get the process ID of the calling process. */ -extern __pid_t getpid (void) __THROW; - -/* Get the process ID of the calling process's parent. */ -extern __pid_t getppid (void) __THROW; - -/* Get the process group ID of the calling process. */ -extern __pid_t getpgrp (void) __THROW; - -/* Get the process group ID of process PID. */ -extern __pid_t __getpgid (__pid_t __pid) __THROW; -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -extern __pid_t getpgid (__pid_t __pid) __THROW; -#endif - - -/* Set the process group ID of the process matching PID to PGID. - If PID is zero, the current process's process group ID is set. - If PGID is zero, the process ID of the process is used. */ -extern int setpgid (__pid_t __pid, __pid_t __pgid) __THROW; - -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED -/* Both System V and BSD have `setpgrp' functions, but with different - calling conventions. The BSD function is the same as POSIX.1 `setpgid' - (above). The System V function takes no arguments and puts the calling - process in its on group like `setpgid (0, 0)'. - - New programs should always use `setpgid' instead. - - GNU provides the POSIX.1 function. */ - -/* Set the process group ID of the calling process to its own PID. - This is exactly the same as `setpgid (0, 0)'. */ -extern int setpgrp (void) __THROW; - -#endif /* Use misc or X/Open. */ - -/* Create a new session with the calling process as its leader. - The process group IDs of the session and the calling process - are set to the process ID of the calling process, which is returned. */ -extern __pid_t setsid (void) __THROW; - -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -/* Return the session ID of the given process. */ -extern __pid_t getsid (__pid_t __pid) __THROW; -#endif - -/* Get the real user ID of the calling process. */ -extern __uid_t getuid (void) __THROW; - -/* Get the effective user ID of the calling process. */ -extern __uid_t geteuid (void) __THROW; - -/* Get the real group ID of the calling process. */ -extern __gid_t getgid (void) __THROW; - -/* Get the effective group ID of the calling process. */ -extern __gid_t getegid (void) __THROW; - -/* If SIZE is zero, return the number of supplementary groups - the calling process is in. Otherwise, fill in the group IDs - of its supplementary groups in LIST and return the number written. */ -extern int getgroups (int __size, __gid_t __list[]) __THROW __wur - __fortified_attr_access (__write_only__, 2, 1); -#ifdef __USE_GNU -/* Return nonzero iff the calling process is in group GID. */ -extern int group_member (__gid_t __gid) __THROW; -#endif - -/* Set the user ID of the calling process to UID. - If the calling process is the super-user, set the real - and effective user IDs, and the saved set-user-ID to UID; - if not, the effective user ID is set to UID. */ -extern int setuid (__uid_t __uid) __THROW __wur; - -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED -/* Set the real user ID of the calling process to RUID, - and the effective user ID of the calling process to EUID. */ -extern int setreuid (__uid_t __ruid, __uid_t __euid) __THROW __wur; -#endif - -#ifdef __USE_XOPEN2K -/* Set the effective user ID of the calling process to UID. */ -extern int seteuid (__uid_t __uid) __THROW __wur; -#endif /* Use POSIX.1-2001. */ - -/* Set the group ID of the calling process to GID. - If the calling process is the super-user, set the real - and effective group IDs, and the saved set-group-ID to GID; - if not, the effective group ID is set to GID. */ -extern int setgid (__gid_t __gid) __THROW __wur; - -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED -/* Set the real group ID of the calling process to RGID, - and the effective group ID of the calling process to EGID. */ -extern int setregid (__gid_t __rgid, __gid_t __egid) __THROW __wur; -#endif - -#ifdef __USE_XOPEN2K -/* Set the effective group ID of the calling process to GID. */ -extern int setegid (__gid_t __gid) __THROW __wur; -#endif /* Use POSIX.1-2001. */ - -#ifdef __USE_GNU -/* Fetch the real user ID, effective user ID, and saved-set user ID, - of the calling process. */ -extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid) - __THROW; - -/* Fetch the real group ID, effective group ID, and saved-set group ID, - of the calling process. */ -extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid) - __THROW; - -/* Set the real user ID, effective user ID, and saved-set user ID, - of the calling process to RUID, EUID, and SUID, respectively. */ -extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid) - __THROW __wur; - -/* Set the real group ID, effective group ID, and saved-set group ID, - of the calling process to RGID, EGID, and SGID, respectively. */ -extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid) - __THROW __wur; -#endif - - -/* Clone the calling process, creating an exact copy. - Return -1 for errors, 0 to the new process, - and the process ID of the new process to the old process. */ -extern __pid_t fork (void) __THROWNL; - -#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) \ - || defined __USE_MISC -/* Clone the calling process, but without copying the whole address space. - The calling process is suspended until the new process exits or is - replaced by a call to `execve'. Return -1 for errors, 0 to the new process, - and the process ID of the new process to the old process. */ -extern __pid_t vfork (void) __THROW; -#endif /* Use misc or XPG < 7. */ - -#ifdef __USE_GNU -/* This is similar to fork, however it does not run the atfork handlers - neither reinitialize any internal locks in multithread case. - Different than fork, _Fork is async-signal-safe. */ -extern __pid_t _Fork (void) __THROW; -#endif - - -/* Return the pathname of the terminal FD is open on, or NULL on errors. - The returned storage is good only until the next call to this function. */ -extern char *ttyname (int __fd) __THROW; - -/* Store at most BUFLEN characters of the pathname of the terminal FD is - open on in BUF. Return 0 on success, otherwise an error number. */ -extern int ttyname_r (int __fd, char *__buf, size_t __buflen) - __THROW __nonnull ((2)) __wur - __fortified_attr_access (__write_only__, 2, 3); - -/* Return 1 if FD is a valid descriptor associated - with a terminal, zero if not. */ -extern int isatty (int __fd) __THROW; - -#ifdef __USE_MISC -/* Return the index into the active-logins file (utmp) for - the controlling terminal. */ -extern int ttyslot (void) __THROW; -#endif - - -/* Make a link to FROM named TO. */ -extern int link (const char *__from, const char *__to) - __THROW __nonnull ((1, 2)) __wur; - -#ifdef __USE_ATFILE -/* Like link but relative paths in TO and FROM are interpreted relative - to FROMFD and TOFD respectively. */ -extern int linkat (int __fromfd, const char *__from, int __tofd, - const char *__to, int __flags) - __THROW __nonnull ((2, 4)) __wur; -#endif - -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K -/* Make a symbolic link to FROM named TO. */ -extern int symlink (const char *__from, const char *__to) - __THROW __nonnull ((1, 2)) __wur; - -/* Read the contents of the symbolic link PATH into no more than - LEN bytes of BUF. The contents are not null-terminated. - Returns the number of characters read, or -1 for errors. */ -extern ssize_t readlink (const char *__restrict __path, - char *__restrict __buf, size_t __len) - __THROW __nonnull ((1, 2)) __wur - __fortified_attr_access (__write_only__, 2, 3); - -#endif /* Use POSIX.1-2001. */ - -#ifdef __USE_ATFILE -/* Like symlink but a relative path in TO is interpreted relative to TOFD. */ -extern int symlinkat (const char *__from, int __tofd, - const char *__to) __THROW __nonnull ((1, 3)) __wur; - -/* Like readlink but a relative PATH is interpreted relative to FD. */ -extern ssize_t readlinkat (int __fd, const char *__restrict __path, - char *__restrict __buf, size_t __len) - __THROW __nonnull ((2, 3)) __wur - __fortified_attr_access (__write_only__, 3, 4); -#endif - -/* Remove the link NAME. */ -extern int unlink (const char *__name) __THROW __nonnull ((1)); - -#ifdef __USE_ATFILE -/* Remove the link NAME relative to FD. */ -extern int unlinkat (int __fd, const char *__name, int __flag) - __THROW __nonnull ((2)); -#endif - -/* Remove the directory PATH. */ -extern int rmdir (const char *__path) __THROW __nonnull ((1)); - - -/* Return the foreground process group ID of FD. */ -extern __pid_t tcgetpgrp (int __fd) __THROW; - -/* Set the foreground process group ID of FD set PGRP_ID. */ -extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __THROW; - - -/* Return the login name of the user. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern char *getlogin (void); -#ifdef __USE_POSIX199506 -/* Return at most NAME_LEN characters of the login name of the user in NAME. - If it cannot be determined or some other error occurred, return the error - code. Otherwise return 0. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int getlogin_r (char *__name, size_t __name_len) __nonnull ((1)) - __fortified_attr_access (__write_only__, 1, 2); -#endif - -#ifdef __USE_MISC -/* Set the login name returned by `getlogin'. */ -extern int setlogin (const char *__name) __THROW __nonnull ((1)); -#endif - - -#ifdef __USE_POSIX2 -/* Get definitions and prototypes for functions to process the - arguments in ARGV (ARGC of them, minus the program name) for - options given in OPTS. */ -# include -#endif - - -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K -/* Put the name of the current host in no more than LEN bytes of NAME. - The result is null-terminated if LEN is large enough for the full - name and the terminator. */ -extern int gethostname (char *__name, size_t __len) __THROW __nonnull ((1)) - __fortified_attr_access (__write_only__, 1, 2); -#endif - - -#if defined __USE_MISC -/* Set the name of the current host to NAME, which is LEN bytes long. - This call is restricted to the super-user. */ -extern int sethostname (const char *__name, size_t __len) - __THROW __nonnull ((1)) __wur __attr_access ((__read_only__, 1, 2)); - -/* Set the current machine's Internet number to ID. - This call is restricted to the super-user. */ -extern int sethostid (long int __id) __THROW __wur; - - -/* Get and set the NIS (aka YP) domain name, if any. - Called just like `gethostname' and `sethostname'. - The NIS domain name is usually the empty string when not using NIS. */ -extern int getdomainname (char *__name, size_t __len) - __THROW __nonnull ((1)) __wur - __fortified_attr_access (__write_only__, 1, 2); -extern int setdomainname (const char *__name, size_t __len) - __THROW __nonnull ((1)) __wur __attr_access ((__read_only__, 1, 2)); - -/* Revoke access permissions to all processes currently communicating - with the control terminal, and then send a SIGHUP signal to the process - group of the control terminal. */ -extern int vhangup (void) __THROW; - -/* Revoke the access of all descriptors currently open on FILE. */ -extern int revoke (const char *__file) __THROW __nonnull ((1)) __wur; - - -/* Enable statistical profiling, writing samples of the PC into at most - SIZE bytes of SAMPLE_BUFFER; every processor clock tick while profiling - is enabled, the system examines the user PC and increments - SAMPLE_BUFFER[((PC - OFFSET) / 2) * SCALE / 65536]. If SCALE is zero, - disable profiling. Returns zero on success, -1 on error. */ -extern int profil (unsigned short int *__sample_buffer, size_t __size, - size_t __offset, unsigned int __scale) - __THROW __nonnull ((1)); - - -/* Turn accounting on if NAME is an existing file. The system will then write - a record for each process as it terminates, to this file. If NAME is NULL, - turn accounting off. This call is restricted to the super-user. */ -extern int acct (const char *__name) __THROW; - - -/* Successive calls return the shells listed in `/etc/shells'. */ -extern char *getusershell (void) __THROW; -extern void endusershell (void) __THROW; /* Discard cached info. */ -extern void setusershell (void) __THROW; /* Rewind and re-read the file. */ - - -/* Put the program in the background, and dissociate from the controlling - terminal. If NOCHDIR is zero, do `chdir ("/")'. If NOCLOSE is zero, - redirects stdin, stdout, and stderr to /dev/null. */ -extern int daemon (int __nochdir, int __noclose) __THROW __wur; -#endif /* Use misc. */ - - -#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) -/* Make PATH be the root directory (the starting point for absolute paths). - This call is restricted to the super-user. */ -extern int chroot (const char *__path) __THROW __nonnull ((1)) __wur; - -/* Prompt with PROMPT and read a string from the terminal without echoing. - Uses /dev/tty if possible; otherwise stderr and stdin. */ -extern char *getpass (const char *__prompt) __nonnull ((1)); -#endif /* Use misc || X/Open. */ - - -/* Make all changes done to FD actually appear on disk. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern int fsync (int __fd); - - -#ifdef __USE_GNU -/* Make all changes done to all files on the file system associated - with FD actually appear on disk. */ -extern int syncfs (int __fd) __THROW; -#endif - - -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED - -/* Return identifier for the current host. */ -extern long int gethostid (void); - -/* Make all changes done to all files actually appear on disk. */ -extern void sync (void) __THROW; - - -# if defined __USE_MISC || !defined __USE_XOPEN2K -/* Return the number of bytes in a page. This is the system's page size, - which is not necessarily the same as the hardware page size. */ -extern int getpagesize (void) __THROW __attribute__ ((__const__)); - - -/* Return the maximum number of file descriptors - the current process could possibly have. */ -extern int getdtablesize (void) __THROW; -# endif - -#endif /* Use misc || X/Open Unix. */ - - -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 - -/* Truncate FILE to LENGTH bytes. */ -# ifndef __USE_FILE_OFFSET64 -extern int truncate (const char *__file, __off_t __length) - __THROW __nonnull ((1)) __wur; -# else -# ifdef __REDIRECT_NTH -extern int __REDIRECT_NTH (truncate, - (const char *__file, __off64_t __length), - truncate64) __nonnull ((1)) __wur; -# else -# define truncate truncate64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int truncate64 (const char *__file, __off64_t __length) - __THROW __nonnull ((1)) __wur; -# endif - -#endif /* Use X/Open Unix || POSIX 2008. */ - -#if defined __USE_POSIX199309 \ - || defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K - -/* Truncate the file FD is open on to LENGTH bytes. */ -# ifndef __USE_FILE_OFFSET64 -extern int ftruncate (int __fd, __off_t __length) __THROW __wur; -# else -# ifdef __REDIRECT_NTH -extern int __REDIRECT_NTH (ftruncate, (int __fd, __off64_t __length), - ftruncate64) __wur; -# else -# define ftruncate ftruncate64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int ftruncate64 (int __fd, __off64_t __length) __THROW __wur; -# endif - -#endif /* Use POSIX.1b || X/Open Unix || XPG6. */ - - -#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K) \ - || defined __USE_MISC - -/* Set the end of accessible data space (aka "the break") to ADDR. - Returns zero on success and -1 for errors (with errno set). */ -extern int brk (void *__addr) __THROW __wur; - -/* Increase or decrease the end of accessible data space by DELTA bytes. - If successful, returns the address the previous end of data space - (i.e. the beginning of the new space, if DELTA > 0); - returns (void *) -1 for errors (with errno set). */ -extern void *sbrk (intptr_t __delta) __THROW; -#endif - - -#ifdef __USE_MISC -/* Invoke `system call' number SYSNO, passing it the remaining arguments. - This is completely system-dependent, and not often useful. - - In Unix, `syscall' sets `errno' for all errors and most calls return -1 - for errors; in many systems you cannot pass arguments or get return - values for all system calls (`pipe', `fork', and `getppid' typically - among them). - - In Mach, all system calls take normal arguments and always return an - error code (zero for success). */ -extern long int syscall (long int __sysno, ...) __THROW; - -#endif /* Use misc. */ - - -#if (defined __USE_MISC || defined __USE_XOPEN_EXTENDED) && !defined F_LOCK -/* NOTE: These declarations also appear in ; be sure to keep both - files consistent. Some systems have them there and some here, and some - software depends on the macros being defined without including both. */ - -/* `lockf' is a simpler interface to the locking facilities of `fcntl'. - LEN is always relative to the current file position. - The CMD argument is one of the following. - - This function is a cancellation point and therefore not marked with - __THROW. */ - -# define F_ULOCK 0 /* Unlock a previously locked region. */ -# define F_LOCK 1 /* Lock a region for exclusive use. */ -# define F_TLOCK 2 /* Test and lock a region for exclusive use. */ -# define F_TEST 3 /* Test a region for other processes locks. */ - -# ifndef __USE_FILE_OFFSET64 -extern int lockf (int __fd, int __cmd, __off_t __len) __wur; -# else -# ifdef __REDIRECT -extern int __REDIRECT (lockf, (int __fd, int __cmd, __off64_t __len), - lockf64) __wur; -# else -# define lockf lockf64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int lockf64 (int __fd, int __cmd, __off64_t __len) __wur; -# endif -#endif /* Use misc and F_LOCK not already defined. */ - - -#ifdef __USE_GNU - -/* Evaluate EXPRESSION, and repeat as long as it returns -1 with `errno' - set to EINTR. */ - -# define TEMP_FAILURE_RETRY(expression) \ - (__extension__ \ - ({ long int __result; \ - do __result = (long int) (expression); \ - while (__result == -1L && errno == EINTR); \ - __result; })) - -/* Copy LENGTH bytes from INFD to OUTFD. */ -ssize_t copy_file_range (int __infd, __off64_t *__pinoff, - int __outfd, __off64_t *__poutoff, - size_t __length, unsigned int __flags); -#endif /* __USE_GNU */ - -#if defined __USE_POSIX199309 || defined __USE_UNIX98 -/* Synchronize at least the data part of a file with the underlying - media. */ -extern int fdatasync (int __fildes); -#endif /* Use POSIX199309 */ - -#ifdef __USE_MISC -/* One-way hash PHRASE, returning a string suitable for storage in the - user database. SALT selects the one-way function to use, and - ensures that no two users' hashes are the same, even if they use - the same passphrase. The return value points to static storage - which will be overwritten by the next call to crypt. */ -extern char *crypt (const char *__key, const char *__salt) - __THROW __nonnull ((1, 2)); -#endif - -#ifdef __USE_XOPEN -/* Swab pairs bytes in the first N bytes of the area pointed to by - FROM and copy the result to TO. The value of TO must not be in the - range [FROM - N + 1, FROM - 1]. If N is odd the first byte in FROM - is without partner. */ -extern void swab (const void *__restrict __from, void *__restrict __to, - ssize_t __n) __THROW __nonnull ((1, 2)) - __attr_access ((__read_only__, 1, 3)) - __attr_access ((__write_only__, 2, 3)); -#endif - - -/* Prior to Issue 6, the Single Unix Specification required these - prototypes to appear in this header. They are also found in - . */ -#if defined __USE_XOPEN && !defined __USE_XOPEN2K -/* Return the name of the controlling terminal. */ -extern char *ctermid (char *__s) __THROW; - -/* Return the name of the current user. */ -extern char *cuserid (char *__s); -#endif - - -/* Unix98 requires this function to be declared here. In other - standards it is in . */ -#if defined __USE_UNIX98 && !defined __USE_XOPEN2K -extern int pthread_atfork (void (*__prepare) (void), - void (*__parent) (void), - void (*__child) (void)) __THROW; -#endif - -#ifdef __USE_MISC -/* Write LENGTH bytes of randomness starting at BUFFER. Return 0 on - success or -1 on error. */ -int getentropy (void *__buffer, size_t __length) __wur - __attr_access ((__write_only__, 1, 2)); -#endif - -/* Define some macros helping to catch buffer overflows. */ -#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function -# include -#endif - -/* System-specific extensions. */ -#include - -__END_DECLS - -#endif /* unistd.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@unistd.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@unistd.h.blob deleted file mode 100644 index dd9ba40..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@unistd.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@wchar.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@wchar.h deleted file mode 100644 index 0757768..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@wchar.h +++ /dev/null @@ -1,877 +0,0 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* - * ISO C99 Standard: 7.24 - * Extended multibyte and wide character utilities - */ - -#ifndef _WCHAR_H -#define _WCHAR_H 1 - -#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION -#include - -/* Gather machine dependent type support. */ -#include - -#define __need_size_t -#define __need_wchar_t -#define __need_NULL -#include - -#define __need___va_list -#include - -#include -#include -#include -#include - -#if defined __USE_UNIX98 || defined __USE_XOPEN2K -# include -#endif -#ifdef __USE_XOPEN2K8 -# include -#endif - -/* Tell the caller that we provide correct C++ prototypes. */ -#if defined __cplusplus && __GNUC_PREREQ (4, 4) -# define __CORRECT_ISO_CPP_WCHAR_H_PROTO -#endif - -#ifndef WCHAR_MIN -/* These constants might also be defined in . */ -# define WCHAR_MIN __WCHAR_MIN -# define WCHAR_MAX __WCHAR_MAX -#endif - -#ifndef WEOF -# define WEOF (0xffffffffu) -#endif - -/* All versions of XPG prior to the publication of ISO C99 required - the bulk of 's declarations to appear in this header - (because did not exist prior to C99). In POSIX.1-2001 - those declarations were marked as XSI extensions; in -2008 they - were additionally marked as obsolescent. _GNU_SOURCE mode - anticipates the removal of these declarations in the next revision - of POSIX. */ -#if (defined __USE_XOPEN && !defined __USE_GNU \ - && !(defined __USE_XOPEN2K && !defined __USE_XOPEN2KXSI)) -# include -#endif - -__BEGIN_DECLS - -/* This incomplete type is defined in but needed here because - of `wcsftime'. */ -struct tm; - - -/* Copy SRC to DEST. */ -extern wchar_t *wcscpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src) - __THROW __nonnull ((1, 2)); - -/* Copy no more than N wide-characters of SRC to DEST. */ -extern wchar_t *wcsncpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - __THROW __nonnull ((1, 2)); - -/* Append SRC onto DEST. */ -extern wchar_t *wcscat (wchar_t *__restrict __dest, - const wchar_t *__restrict __src) - __THROW __nonnull ((1, 2)); -/* Append no more than N wide-characters of SRC onto DEST. */ -extern wchar_t *wcsncat (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - __THROW __nonnull ((1, 2)); - -/* Compare S1 and S2. */ -extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2) - __THROW __attribute_pure__ __nonnull ((1, 2)); -/* Compare N wide-characters of S1 and S2. */ -extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) - __THROW __attribute_pure__ __nonnull ((1, 2)); - -#ifdef __USE_XOPEN2K8 -/* Compare S1 and S2, ignoring case. */ -extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) __THROW; - -/* Compare no more than N chars of S1 and S2, ignoring case. */ -extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2, - size_t __n) __THROW; - -/* Similar to the two functions above but take the information from - the provided locale and not the global locale. */ -extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2, - locale_t __loc) __THROW; - -extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2, - size_t __n, locale_t __loc) __THROW; -#endif - -/* Compare S1 and S2, both interpreted as appropriate to the - LC_COLLATE category of the current locale. */ -extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) __THROW; -/* Transform S2 into array pointed to by S1 such that if wcscmp is - applied to two transformed strings the result is the as applying - `wcscoll' to the original strings. */ -extern size_t wcsxfrm (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n) __THROW; - -#ifdef __USE_XOPEN2K8 -/* Similar to the two functions above but take the information from - the provided locale and not the global locale. */ - -/* Compare S1 and S2, both interpreted as appropriate to the - LC_COLLATE category of the given locale. */ -extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2, - locale_t __loc) __THROW; - -/* Transform S2 into array pointed to by S1 such that if wcscmp is - applied to two transformed strings the result is the as applying - `wcscoll' to the original strings. */ -extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2, - size_t __n, locale_t __loc) __THROW; - -/* Duplicate S, returning an identical malloc'd string. */ -extern wchar_t *wcsdup (const wchar_t *__s) __THROW - __attribute_malloc__ __attr_dealloc_free; -#endif - -/* Find the first occurrence of WC in WCS. */ -#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO -extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc) - __THROW __asm ("wcschr") __attribute_pure__; -extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) - __THROW __asm ("wcschr") __attribute_pure__; -#else -extern wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) - __THROW __attribute_pure__; -#endif -/* Find the last occurrence of WC in WCS. */ -#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO -extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc) - __THROW __asm ("wcsrchr") __attribute_pure__; -extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) - __THROW __asm ("wcsrchr") __attribute_pure__; -#else -extern wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) - __THROW __attribute_pure__; -#endif - -#ifdef __USE_GNU -/* This function is similar to `wcschr'. But it returns a pointer to - the closing NUL wide character in case C is not found in S. */ -extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc) - __THROW __attribute_pure__; -#endif - -/* Return the length of the initial segmet of WCS which - consists entirely of wide characters not in REJECT. */ -extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject) - __THROW __attribute_pure__; -/* Return the length of the initial segmet of WCS which - consists entirely of wide characters in ACCEPT. */ -extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept) - __THROW __attribute_pure__; -/* Find the first occurrence in WCS of any character in ACCEPT. */ -#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO -extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept) - __THROW __asm ("wcspbrk") __attribute_pure__; -extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs, - const wchar_t *__accept) - __THROW __asm ("wcspbrk") __attribute_pure__; -#else -extern wchar_t *wcspbrk (const wchar_t *__wcs, const wchar_t *__accept) - __THROW __attribute_pure__; -#endif -/* Find the first occurrence of NEEDLE in HAYSTACK. */ -#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO -extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle) - __THROW __asm ("wcsstr") __attribute_pure__; -extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack, - const wchar_t *__needle) - __THROW __asm ("wcsstr") __attribute_pure__; -#else -extern wchar_t *wcsstr (const wchar_t *__haystack, const wchar_t *__needle) - __THROW __attribute_pure__; -#endif - -/* Divide WCS into tokens separated by characters in DELIM. */ -extern wchar_t *wcstok (wchar_t *__restrict __s, - const wchar_t *__restrict __delim, - wchar_t **__restrict __ptr) __THROW; - -/* Return the number of wide characters in S. */ -extern size_t wcslen (const wchar_t *__s) __THROW __attribute_pure__; - -#ifdef __USE_XOPEN -/* Another name for `wcsstr' from XPG4. */ -# ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO -extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle) - __THROW __asm ("wcswcs") __attribute_pure__; -extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack, - const wchar_t *__needle) - __THROW __asm ("wcswcs") __attribute_pure__; -# else -extern wchar_t *wcswcs (const wchar_t *__haystack, const wchar_t *__needle) - __THROW __attribute_pure__; -# endif -#endif - -#ifdef __USE_XOPEN2K8 -/* Return the number of wide characters in S, but at most MAXLEN. */ -extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen) - __THROW __attribute_pure__; -#endif - - -/* Search N wide characters of S for C. */ -#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO -extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n) - __THROW __asm ("wmemchr") __attribute_pure__; -extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, - size_t __n) - __THROW __asm ("wmemchr") __attribute_pure__; -#else -extern wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, size_t __n) - __THROW __attribute_pure__; -#endif - -/* Compare N wide characters of S1 and S2. */ -extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) - __THROW __attribute_pure__; - -/* Copy N wide characters of SRC to DEST. */ -extern wchar_t *wmemcpy (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n) __THROW; - -/* Copy N wide characters of SRC to DEST, guaranteeing - correct behavior for overlapping strings. */ -extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) - __THROW; - -/* Set N wide characters of S to C. */ -extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) __THROW; - -#ifdef __USE_GNU -/* Copy N wide characters of SRC to DEST and return pointer to following - wide character. */ -extern wchar_t *wmempcpy (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n) - __THROW; -#endif - - -/* Determine whether C constitutes a valid (one-byte) multibyte - character. */ -extern wint_t btowc (int __c) __THROW; - -/* Determine whether C corresponds to a member of the extended - character set whose multibyte representation is a single byte. */ -extern int wctob (wint_t __c) __THROW; - -/* Determine whether PS points to an object representing the initial - state. */ -extern int mbsinit (const mbstate_t *__ps) __THROW __attribute_pure__; - -/* Write wide character representation of multibyte character pointed - to by S to PWC. */ -extern size_t mbrtowc (wchar_t *__restrict __pwc, - const char *__restrict __s, size_t __n, - mbstate_t *__restrict __p) __THROW; - -/* Write multibyte representation of wide character WC to S. */ -extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, - mbstate_t *__restrict __ps) __THROW; - -/* Return number of bytes in multibyte character pointed to by S. */ -extern size_t __mbrlen (const char *__restrict __s, size_t __n, - mbstate_t *__restrict __ps) __THROW; -extern size_t mbrlen (const char *__restrict __s, size_t __n, - mbstate_t *__restrict __ps) __THROW; - -#ifdef __USE_EXTERN_INLINES -/* Define inline function as optimization. */ - -/* We can use the BTOWC and WCTOB optimizations since we know that all - locales must use ASCII encoding for the values in the ASCII range - and because the wchar_t encoding is always ISO 10646. */ -extern wint_t __btowc_alias (int __c) __asm ("btowc"); -__extern_inline wint_t -__NTH (btowc (int __c)) -{ return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f' - ? (wint_t) __c : __btowc_alias (__c)); } - -extern int __wctob_alias (wint_t __c) __asm ("wctob"); -__extern_inline int -__NTH (wctob (wint_t __wc)) -{ return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f' - ? (int) __wc : __wctob_alias (__wc)); } - -__extern_inline size_t -__NTH (mbrlen (const char *__restrict __s, size_t __n, - mbstate_t *__restrict __ps)) -{ return (__ps != NULL - ? mbrtowc (NULL, __s, __n, __ps) : __mbrlen (__s, __n, NULL)); } -#endif - -/* Write wide character representation of multibyte character string - SRC to DST. */ -extern size_t mbsrtowcs (wchar_t *__restrict __dst, - const char **__restrict __src, size_t __len, - mbstate_t *__restrict __ps) __THROW; - -/* Write multibyte character representation of wide character string - SRC to DST. */ -extern size_t wcsrtombs (char *__restrict __dst, - const wchar_t **__restrict __src, size_t __len, - mbstate_t *__restrict __ps) __THROW; - - -#ifdef __USE_XOPEN2K8 -/* Write wide character representation of at most NMC bytes of the - multibyte character string SRC to DST. */ -extern size_t mbsnrtowcs (wchar_t *__restrict __dst, - const char **__restrict __src, size_t __nmc, - size_t __len, mbstate_t *__restrict __ps) __THROW; - -/* Write multibyte character representation of at most NWC characters - from the wide character string SRC to DST. */ -extern size_t wcsnrtombs (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __nwc, size_t __len, - mbstate_t *__restrict __ps) __THROW; -#endif /* use POSIX 2008 */ - - -/* The following functions are extensions found in X/Open CAE. */ -#ifdef __USE_XOPEN -/* Determine number of column positions required for C. */ -extern int wcwidth (wchar_t __c) __THROW; - -/* Determine number of column positions required for first N wide - characters (or fewer if S ends before this) in S. */ -extern int wcswidth (const wchar_t *__s, size_t __n) __THROW; -#endif /* Use X/Open. */ - - -/* Convert initial portion of the wide string NPTR to `double' - representation. */ -extern double wcstod (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) __THROW; - -#ifdef __USE_ISOC99 -/* Likewise for `float' and `long double' sizes of floating-point numbers. */ -extern float wcstof (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) __THROW; -extern long double wcstold (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) __THROW; -#endif /* C99 */ - -/* Likewise for `_FloatN' and `_FloatNx' when support is enabled. */ - -#if __HAVE_FLOAT16 && defined __USE_GNU -extern _Float16 wcstof16 (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) __THROW; -#endif - -#if __HAVE_FLOAT32 && defined __USE_GNU -extern _Float32 wcstof32 (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) __THROW; -#endif - -#if __HAVE_FLOAT64 && defined __USE_GNU -extern _Float64 wcstof64 (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) __THROW; -#endif - -#if __HAVE_FLOAT128 && defined __USE_GNU -extern _Float128 wcstof128 (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) __THROW; -#endif - -#if __HAVE_FLOAT32X && defined __USE_GNU -extern _Float32x wcstof32x (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) __THROW; -#endif - -#if __HAVE_FLOAT64X && defined __USE_GNU -extern _Float64x wcstof64x (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) __THROW; -#endif - -#if __HAVE_FLOAT128X && defined __USE_GNU -extern _Float128x wcstof128x (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr) __THROW; -#endif - - -/* Convert initial portion of wide string NPTR to `long int' - representation. */ -extern long int wcstol (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base) __THROW; - -/* Convert initial portion of wide string NPTR to `unsigned long int' - representation. */ -extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base) - __THROW; - -#ifdef __USE_ISOC99 -/* Convert initial portion of wide string NPTR to `long long int' - representation. */ -__extension__ -extern long long int wcstoll (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base) - __THROW; - -/* Convert initial portion of wide string NPTR to `unsigned long long int' - representation. */ -__extension__ -extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base) __THROW; -#endif /* ISO C99. */ - -#ifdef __USE_GNU -/* Convert initial portion of wide string NPTR to `long long int' - representation. */ -__extension__ -extern long long int wcstoq (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base) - __THROW; - -/* Convert initial portion of wide string NPTR to `unsigned long long int' - representation. */ -__extension__ -extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base) __THROW; -#endif /* Use GNU. */ - -#ifdef __USE_GNU -/* Parallel versions of the functions above which take the locale to - use as an additional parameter. These are GNU extensions inspired - by the POSIX.1-2008 extended locale API. */ -extern long int wcstol_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, int __base, - locale_t __loc) __THROW; - -extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base, locale_t __loc) __THROW; - -__extension__ -extern long long int wcstoll_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base, locale_t __loc) __THROW; - -__extension__ -extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - int __base, locale_t __loc) - __THROW; - -extern double wcstod_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, locale_t __loc) - __THROW; - -extern float wcstof_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, locale_t __loc) - __THROW; - -extern long double wcstold_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) __THROW; - -# if __HAVE_FLOAT16 -extern _Float16 wcstof16_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) __THROW; -# endif - -# if __HAVE_FLOAT32 -extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) __THROW; -# endif - -# if __HAVE_FLOAT64 -extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) __THROW; -# endif - -# if __HAVE_FLOAT128 -extern _Float128 wcstof128_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) __THROW; -# endif - -# if __HAVE_FLOAT32X -extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) __THROW; -# endif - -# if __HAVE_FLOAT64X -extern _Float64x wcstof64x_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) __THROW; -# endif - -# if __HAVE_FLOAT128X -extern _Float128x wcstof128x_l (const wchar_t *__restrict __nptr, - wchar_t **__restrict __endptr, - locale_t __loc) __THROW; -# endif -#endif /* use GNU */ - - -#ifdef __USE_XOPEN2K8 -/* Copy SRC to DEST, returning the address of the terminating L'\0' in - DEST. */ -extern wchar_t *wcpcpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src) __THROW; - -/* Copy no more than N characters of SRC to DEST, returning the address of - the last character written into DEST. */ -extern wchar_t *wcpncpy (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n) - __THROW; -#endif - - -/* Wide character I/O functions. */ - -#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) -# ifndef __attr_dealloc_fclose -# if defined __has_builtin -# if __has_builtin (__builtin_fclose) -/* If the attribute macro hasn't been defined yet (by ) and - fclose is a built-in, use it. */ -# define __attr_dealloc_fclose __attr_dealloc (__builtin_fclose, 1) -# endif -# endif -# endif -# ifndef __attr_dealloc_fclose -# define __attr_dealloc_fclose /* empty */ -# endif - -/* Like OPEN_MEMSTREAM, but the stream is wide oriented and produces - a wide character string. */ -extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) __THROW - __attribute_malloc__ __attr_dealloc_fclose; -#endif - -#if defined __USE_ISOC95 || defined __USE_UNIX98 - -/* Select orientation for stream. */ -extern int fwide (__FILE *__fp, int __mode) __THROW; - - -/* Write formatted output to STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fwprintf (__FILE *__restrict __stream, - const wchar_t *__restrict __format, ...) - /* __attribute__ ((__format__ (__wprintf__, 2, 3))) */; -/* Write formatted output to stdout. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int wprintf (const wchar_t *__restrict __format, ...) - /* __attribute__ ((__format__ (__wprintf__, 1, 2))) */; -/* Write formatted output of at most N characters to S. */ -extern int swprintf (wchar_t *__restrict __s, size_t __n, - const wchar_t *__restrict __format, ...) - __THROW /* __attribute__ ((__format__ (__wprintf__, 3, 4))) */; - -/* Write formatted output to S from argument list ARG. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int vfwprintf (__FILE *__restrict __s, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - /* __attribute__ ((__format__ (__wprintf__, 2, 0))) */; -/* Write formatted output to stdout from argument list ARG. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int vwprintf (const wchar_t *__restrict __format, - __gnuc_va_list __arg) - /* __attribute__ ((__format__ (__wprintf__, 1, 0))) */; -/* Write formatted output of at most N character to S from argument - list ARG. */ -extern int vswprintf (wchar_t *__restrict __s, size_t __n, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - __THROW /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */; - - -/* Read formatted input from STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fwscanf (__FILE *__restrict __stream, - const wchar_t *__restrict __format, ...) - /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; -/* Read formatted input from stdin. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int wscanf (const wchar_t *__restrict __format, ...) - /* __attribute__ ((__format__ (__wscanf__, 1, 2))) */; -/* Read formatted input from S. */ -extern int swscanf (const wchar_t *__restrict __s, - const wchar_t *__restrict __format, ...) - __THROW /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; - -/* For historical reasons, the C99-compliant versions of the scanf - functions are at alternative names. When __LDBL_COMPAT or - __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in - bits/wchar-ldbl.h. */ -#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \ - && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 -# ifdef __REDIRECT -extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream, - const wchar_t *__restrict __format, ...), - __isoc99_fwscanf) - /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; -extern int __REDIRECT (wscanf, (const wchar_t *__restrict __format, ...), - __isoc99_wscanf) - /* __attribute__ ((__format__ (__wscanf__, 1, 2))) */; -extern int __REDIRECT_NTH (swscanf, (const wchar_t *__restrict __s, - const wchar_t *__restrict __format, - ...), __isoc99_swscanf) - /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; -# else -extern int __isoc99_fwscanf (__FILE *__restrict __stream, - const wchar_t *__restrict __format, ...); -extern int __isoc99_wscanf (const wchar_t *__restrict __format, ...); -extern int __isoc99_swscanf (const wchar_t *__restrict __s, - const wchar_t *__restrict __format, ...) - __THROW; -# define fwscanf __isoc99_fwscanf -# define wscanf __isoc99_wscanf -# define swscanf __isoc99_swscanf -# endif -# endif - -#endif /* Use ISO C95, C99 and Unix98. */ - -#ifdef __USE_ISOC99 -/* Read formatted input from S into argument list ARG. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int vfwscanf (__FILE *__restrict __s, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; -/* Read formatted input from stdin into argument list ARG. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int vwscanf (const wchar_t *__restrict __format, - __gnuc_va_list __arg) - /* __attribute__ ((__format__ (__wscanf__, 1, 0))) */; -/* Read formatted input from S into argument list ARG. */ -extern int vswscanf (const wchar_t *__restrict __s, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - __THROW /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; - -/* Same redirection as above for the v*wscanf family. */ -# if !__GLIBC_USE (DEPRECATED_SCANF) \ - && (!defined __LDBL_COMPAT || !defined __REDIRECT) \ - && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K) \ - && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 -# ifdef __REDIRECT -extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s, - const wchar_t *__restrict __format, - __gnuc_va_list __arg), __isoc99_vfwscanf) - /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; -extern int __REDIRECT (vwscanf, (const wchar_t *__restrict __format, - __gnuc_va_list __arg), __isoc99_vwscanf) - /* __attribute__ ((__format__ (__wscanf__, 1, 0))) */; -extern int __REDIRECT_NTH (vswscanf, (const wchar_t *__restrict __s, - const wchar_t *__restrict __format, - __gnuc_va_list __arg), __isoc99_vswscanf) - /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; -# else -extern int __isoc99_vfwscanf (__FILE *__restrict __s, - const wchar_t *__restrict __format, - __gnuc_va_list __arg); -extern int __isoc99_vwscanf (const wchar_t *__restrict __format, - __gnuc_va_list __arg); -extern int __isoc99_vswscanf (const wchar_t *__restrict __s, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) __THROW; -# define vfwscanf __isoc99_vfwscanf -# define vwscanf __isoc99_vwscanf -# define vswscanf __isoc99_vswscanf -# endif -# endif - -#endif /* Use ISO C99. */ - - -/* Read a character from STREAM. - - These functions are possible cancellation points and therefore not - marked with __THROW. */ -extern wint_t fgetwc (__FILE *__stream); -extern wint_t getwc (__FILE *__stream); - -/* Read a character from stdin. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern wint_t getwchar (void); - - -/* Write a character to STREAM. - - These functions are possible cancellation points and therefore not - marked with __THROW. */ -extern wint_t fputwc (wchar_t __wc, __FILE *__stream); -extern wint_t putwc (wchar_t __wc, __FILE *__stream); - -/* Write a character to stdout. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern wint_t putwchar (wchar_t __wc); - - -/* Get a newline-terminated wide character string of finite length - from STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, - __FILE *__restrict __stream); - -/* Write a string to STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fputws (const wchar_t *__restrict __ws, - __FILE *__restrict __stream); - - -/* Push a character back onto the input buffer of STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern wint_t ungetwc (wint_t __wc, __FILE *__stream); - - -#ifdef __USE_GNU -/* These are defined to be equivalent to the `char' functions defined - in POSIX.1:1996. - - These functions are not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation they are cancellation points and - therefore not marked with __THROW. */ -extern wint_t getwc_unlocked (__FILE *__stream); -extern wint_t getwchar_unlocked (void); - -/* This is the wide character version of a GNU extension. - - This function is not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation it is a cancellation point and - therefore not marked with __THROW. */ -extern wint_t fgetwc_unlocked (__FILE *__stream); - -/* Faster version when locking is not necessary. - - This function is not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation it is a cancellation point and - therefore not marked with __THROW. */ -extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); - -/* These are defined to be equivalent to the `char' functions defined - in POSIX.1:1996. - - These functions are not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation they are cancellation points and - therefore not marked with __THROW. */ -extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); -extern wint_t putwchar_unlocked (wchar_t __wc); - - -/* This function does the same as `fgetws' but does not lock the stream. - - This function is not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation it is a cancellation point and - therefore not marked with __THROW. */ -extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, - __FILE *__restrict __stream); - -/* This function does the same as `fputws' but does not lock the stream. - - This function is not part of POSIX and therefore no official - cancellation point. But due to similarity with an POSIX interface - or due to the implementation it is a cancellation point and - therefore not marked with __THROW. */ -extern int fputws_unlocked (const wchar_t *__restrict __ws, - __FILE *__restrict __stream); -#endif - - -/* Format TP into S according to FORMAT. - Write no more than MAXSIZE wide characters and return the number - of wide characters written, or 0 if it would exceed MAXSIZE. */ -extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, - const wchar_t *__restrict __format, - const struct tm *__restrict __tp) __THROW; - -# ifdef __USE_GNU -/* Similar to `wcsftime' but takes the information from - the provided locale and not the global locale. */ -extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, - const wchar_t *__restrict __format, - const struct tm *__restrict __tp, - locale_t __loc) __THROW; -# endif - -/* Define some macros helping to catch buffer overflows. */ -#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function -# include -#endif - -#include -#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 -# include -#endif - -__END_DECLS - -#endif /* wchar.h */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@wchar.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@wchar.h.blob deleted file mode 100644 index 0eb5074..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@wchar.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@jf217yacqd074ypqp2rxs66i29nxi4rn-gcc-11.3.0@include@c++@11.3.0@stdlib.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@jf217yacqd074ypqp2rxs66i29nxi4rn-gcc-11.3.0@include@c++@11.3.0@stdlib.h deleted file mode 100644 index 8b622ea..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@jf217yacqd074ypqp2rxs66i29nxi4rn-gcc-11.3.0@include@c++@11.3.0@stdlib.h +++ /dev/null @@ -1,86 +0,0 @@ -// -*- C++ -*- compatibility header. - -// Copyright (C) 2002-2021 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 3, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. - -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// . - -/** @file stdlib.h - * This is a Standard C++ Library header. - */ - -#if !defined __cplusplus || defined _GLIBCXX_INCLUDE_NEXT_C_HEADERS -# include_next -#else - -#ifndef _GLIBCXX_STDLIB_H -#define _GLIBCXX_STDLIB_H 1 - -# include - -using std::abort; -using std::atexit; -using std::exit; -#if __cplusplus >= 201103L -# ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT - using std::at_quick_exit; -# endif -# ifdef _GLIBCXX_HAVE_QUICK_EXIT - using std::quick_exit; -# endif -#endif - -#if _GLIBCXX_HOSTED -using std::div_t; -using std::ldiv_t; - -using std::abs; -using std::atof; -using std::atoi; -using std::atol; -using std::bsearch; -using std::calloc; -using std::div; -using std::free; -using std::getenv; -using std::labs; -using std::ldiv; -using std::malloc; -#ifdef _GLIBCXX_HAVE_MBSTATE_T -using std::mblen; -using std::mbstowcs; -using std::mbtowc; -#endif // _GLIBCXX_HAVE_MBSTATE_T -using std::qsort; -using std::rand; -using std::realloc; -using std::srand; -using std::strtod; -using std::strtol; -using std::strtoul; -using std::system; -#ifdef _GLIBCXX_USE_WCHAR_T -using std::wcstombs; -using std::wctomb; -#endif // _GLIBCXX_USE_WCHAR_T -#endif - -#endif // _GLIBCXX_STDLIB_H -#endif // __cplusplus diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@jf217yacqd074ypqp2rxs66i29nxi4rn-gcc-11.3.0@include@c++@11.3.0@stdlib.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@jf217yacqd074ypqp2rxs66i29nxi4rn-gcc-11.3.0@include@c++@11.3.0@stdlib.h.blob deleted file mode 100644 index 7773fae..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@jf217yacqd074ypqp2rxs66i29nxi4rn-gcc-11.3.0@include@c++@11.3.0@stdlib.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@limits.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@limits.h deleted file mode 100644 index c653580..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@limits.h +++ /dev/null @@ -1,102 +0,0 @@ -/*===---- limits.h - Standard header for integer sizes --------------------===*\ - * - * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. - * See https://llvm.org/LICENSE.txt for license information. - * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception - * -\*===----------------------------------------------------------------------===*/ - -#ifndef __CLANG_LIMITS_H -#define __CLANG_LIMITS_H - -/* The system's limits.h may, in turn, try to #include_next GCC's limits.h. - Avert this #include_next madness. */ -#if defined __GNUC__ && !defined _GCC_LIMITS_H_ -#define _GCC_LIMITS_H_ -#endif - -/* System headers include a number of constants from POSIX in . - Include it if we're hosted. */ -#if __STDC_HOSTED__ && __has_include_next() -#include_next -#endif - -/* Many system headers try to "help us out" by defining these. No really, we - know how big each datatype is. */ -#undef SCHAR_MIN -#undef SCHAR_MAX -#undef UCHAR_MAX -#undef SHRT_MIN -#undef SHRT_MAX -#undef USHRT_MAX -#undef INT_MIN -#undef INT_MAX -#undef UINT_MAX -#undef LONG_MIN -#undef LONG_MAX -#undef ULONG_MAX - -#undef CHAR_BIT -#undef CHAR_MIN -#undef CHAR_MAX - -/* C90/99 5.2.4.2.1 */ -#define SCHAR_MAX __SCHAR_MAX__ -#define SHRT_MAX __SHRT_MAX__ -#define INT_MAX __INT_MAX__ -#define LONG_MAX __LONG_MAX__ - -#define SCHAR_MIN (-__SCHAR_MAX__-1) -#define SHRT_MIN (-__SHRT_MAX__ -1) -#define INT_MIN (-__INT_MAX__ -1) -#define LONG_MIN (-__LONG_MAX__ -1L) - -#define UCHAR_MAX (__SCHAR_MAX__*2 +1) -#define USHRT_MAX (__SHRT_MAX__ *2 +1) -#define UINT_MAX (__INT_MAX__ *2U +1U) -#define ULONG_MAX (__LONG_MAX__ *2UL+1UL) - -#ifndef MB_LEN_MAX -#define MB_LEN_MAX 1 -#endif - -#define CHAR_BIT __CHAR_BIT__ - -#ifdef __CHAR_UNSIGNED__ /* -funsigned-char */ -#define CHAR_MIN 0 -#define CHAR_MAX UCHAR_MAX -#else -#define CHAR_MIN SCHAR_MIN -#define CHAR_MAX __SCHAR_MAX__ -#endif - -/* C99 5.2.4.2.1: Added long long. - C++11 18.3.3.2: same contents as the Standard C Library header . - */ -#if __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L - -#undef LLONG_MIN -#undef LLONG_MAX -#undef ULLONG_MAX - -#define LLONG_MAX __LONG_LONG_MAX__ -#define LLONG_MIN (-__LONG_LONG_MAX__-1LL) -#define ULLONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL) -#endif - -/* LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension. It's too bad - that we don't have something like #pragma poison that could be used to - deprecate a macro - the code should just use LLONG_MAX and friends. - */ -#if defined(__GNU_LIBRARY__) ? defined(__USE_GNU) : !defined(__STRICT_ANSI__) - -#undef LONG_LONG_MIN -#undef LONG_LONG_MAX -#undef ULONG_LONG_MAX - -#define LONG_LONG_MAX __LONG_LONG_MAX__ -#define LONG_LONG_MIN (-__LONG_LONG_MAX__-1LL) -#define ULONG_LONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL) -#endif - -#endif /* __CLANG_LIMITS_H */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@limits.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@limits.h.blob deleted file mode 100644 index e26fbd3..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@limits.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stdarg.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stdarg.h deleted file mode 100644 index 0bc3940..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stdarg.h +++ /dev/null @@ -1,35 +0,0 @@ -/*===---- stdarg.h - Variable argument handling ----------------------------=== - * - * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. - * See https://llvm.org/LICENSE.txt for license information. - * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception - * - *===-----------------------------------------------------------------------=== - */ - -#ifndef __STDARG_H -#define __STDARG_H - -#ifndef _VA_LIST -typedef __builtin_va_list va_list; -#define _VA_LIST -#endif -#define va_start(ap, param) __builtin_va_start(ap, param) -#define va_end(ap) __builtin_va_end(ap) -#define va_arg(ap, type) __builtin_va_arg(ap, type) - -/* GCC always defines __va_copy, but does not define va_copy unless in c99 mode - * or -ansi is not specified, since it was not part of C90. - */ -#define __va_copy(d,s) __builtin_va_copy(d,s) - -#if __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L || !defined(__STRICT_ANSI__) -#define va_copy(dest, src) __builtin_va_copy(dest, src) -#endif - -#ifndef __GNUC_VA_LIST -#define __GNUC_VA_LIST 1 -typedef __builtin_va_list __gnuc_va_list; -#endif - -#endif /* __STDARG_H */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stdarg.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stdarg.h.blob deleted file mode 100644 index bbfe976..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stdarg.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stddef.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stddef.h deleted file mode 100644 index 15acd44..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stddef.h +++ /dev/null @@ -1,121 +0,0 @@ -/*===---- stddef.h - Basic type definitions --------------------------------=== - * - * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. - * See https://llvm.org/LICENSE.txt for license information. - * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception - * - *===-----------------------------------------------------------------------=== - */ - -#if !defined(__STDDEF_H) || defined(__need_ptrdiff_t) || \ - defined(__need_size_t) || defined(__need_wchar_t) || \ - defined(__need_NULL) || defined(__need_wint_t) - -#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \ - !defined(__need_wchar_t) && !defined(__need_NULL) && \ - !defined(__need_wint_t) -/* Always define miscellaneous pieces when modules are available. */ -#if !__has_feature(modules) -#define __STDDEF_H -#endif -#define __need_ptrdiff_t -#define __need_size_t -#define __need_wchar_t -#define __need_NULL -#define __need_STDDEF_H_misc -/* __need_wint_t is intentionally not defined here. */ -#endif - -#if defined(__need_ptrdiff_t) -#if !defined(_PTRDIFF_T) || __has_feature(modules) -/* Always define ptrdiff_t when modules are available. */ -#if !__has_feature(modules) -#define _PTRDIFF_T -#endif -typedef __PTRDIFF_TYPE__ ptrdiff_t; -#endif -#undef __need_ptrdiff_t -#endif /* defined(__need_ptrdiff_t) */ - -#if defined(__need_size_t) -#if !defined(_SIZE_T) || __has_feature(modules) -/* Always define size_t when modules are available. */ -#if !__has_feature(modules) -#define _SIZE_T -#endif -typedef __SIZE_TYPE__ size_t; -#endif -#undef __need_size_t -#endif /*defined(__need_size_t) */ - -#if defined(__need_STDDEF_H_misc) -/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is - * enabled. */ -#if (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 && \ - !defined(_RSIZE_T)) || __has_feature(modules) -/* Always define rsize_t when modules are available. */ -#if !__has_feature(modules) -#define _RSIZE_T -#endif -typedef __SIZE_TYPE__ rsize_t; -#endif -#endif /* defined(__need_STDDEF_H_misc) */ - -#if defined(__need_wchar_t) -#ifndef __cplusplus -/* Always define wchar_t when modules are available. */ -#if !defined(_WCHAR_T) || __has_feature(modules) -#if !__has_feature(modules) -#define _WCHAR_T -#if defined(_MSC_EXTENSIONS) -#define _WCHAR_T_DEFINED -#endif -#endif -typedef __WCHAR_TYPE__ wchar_t; -#endif -#endif -#undef __need_wchar_t -#endif /* defined(__need_wchar_t) */ - -#if defined(__need_NULL) -#undef NULL -#ifdef __cplusplus -# if !defined(__MINGW32__) && !defined(_MSC_VER) -# define NULL __null -# else -# define NULL 0 -# endif -#else -# define NULL ((void*)0) -#endif -#ifdef __cplusplus -#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED) -namespace std { typedef decltype(nullptr) nullptr_t; } -using ::std::nullptr_t; -#endif -#endif -#undef __need_NULL -#endif /* defined(__need_NULL) */ - -#if defined(__need_STDDEF_H_misc) -#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L -#include "__stddef_max_align_t.h" -#endif -#define offsetof(t, d) __builtin_offsetof(t, d) -#undef __need_STDDEF_H_misc -#endif /* defined(__need_STDDEF_H_misc) */ - -/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use -__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */ -#if defined(__need_wint_t) -/* Always define wint_t when modules are available. */ -#if !defined(_WINT_T) || __has_feature(modules) -#if !__has_feature(modules) -#define _WINT_T -#endif -typedef __WINT_TYPE__ wint_t; -#endif -#undef __need_wint_t -#endif /* __need_wint_t */ - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stddef.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stddef.h.blob deleted file mode 100644 index 412f2ba..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stddef.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stdint.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stdint.h deleted file mode 100644 index 192f653..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stdint.h +++ /dev/null @@ -1,693 +0,0 @@ -/*===---- stdint.h - Standard header for sized integer types --------------===*\ - * - * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. - * See https://llvm.org/LICENSE.txt for license information. - * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception - * -\*===----------------------------------------------------------------------===*/ - -#ifndef __CLANG_STDINT_H -// AIX system headers need stdint.h to be re-enterable while _STD_TYPES_T -// is defined until an inclusion of it without _STD_TYPES_T occurs, in which -// case the header guard macro is defined. -#if !defined(_AIX) || !defined(_STD_TYPES_T) || !defined(__STDC_HOSTED__) -#define __CLANG_STDINT_H -#endif - -/* If we're hosted, fall back to the system's stdint.h, which might have - * additional definitions. - */ -#if __STDC_HOSTED__ && __has_include_next() - -// C99 7.18.3 Limits of other integer types -// -// Footnote 219, 220: C++ implementations should define these macros only when -// __STDC_LIMIT_MACROS is defined before is included. -// -// Footnote 222: C++ implementations should define these macros only when -// __STDC_CONSTANT_MACROS is defined before is included. -// -// C++11 [cstdint.syn]p2: -// -// The macros defined by are provided unconditionally. In particular, -// the symbols __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS (mentioned in -// footnotes 219, 220, and 222 in the C standard) play no role in C++. -// -// C11 removed the problematic footnotes. -// -// Work around this inconsistency by always defining those macros in C++ mode, -// so that a C library implementation which follows the C99 standard can be -// used in C++. -# ifdef __cplusplus -# if !defined(__STDC_LIMIT_MACROS) -# define __STDC_LIMIT_MACROS -# define __STDC_LIMIT_MACROS_DEFINED_BY_CLANG -# endif -# if !defined(__STDC_CONSTANT_MACROS) -# define __STDC_CONSTANT_MACROS -# define __STDC_CONSTANT_MACROS_DEFINED_BY_CLANG -# endif -# endif - -# include_next - -# ifdef __STDC_LIMIT_MACROS_DEFINED_BY_CLANG -# undef __STDC_LIMIT_MACROS -# undef __STDC_LIMIT_MACROS_DEFINED_BY_CLANG -# endif -# ifdef __STDC_CONSTANT_MACROS_DEFINED_BY_CLANG -# undef __STDC_CONSTANT_MACROS -# undef __STDC_CONSTANT_MACROS_DEFINED_BY_CLANG -# endif - -#else - -/* C99 7.18.1.1 Exact-width integer types. - * C99 7.18.1.2 Minimum-width integer types. - * C99 7.18.1.3 Fastest minimum-width integer types. - * - * The standard requires that exact-width type be defined for 8-, 16-, 32-, and - * 64-bit types if they are implemented. Other exact width types are optional. - * This implementation defines an exact-width types for every integer width - * that is represented in the standard integer types. - * - * The standard also requires minimum-width types be defined for 8-, 16-, 32-, - * and 64-bit widths regardless of whether there are corresponding exact-width - * types. - * - * To accommodate targets that are missing types that are exactly 8, 16, 32, or - * 64 bits wide, this implementation takes an approach of cascading - * redefinitions, redefining __int_leastN_t to successively smaller exact-width - * types. It is therefore important that the types are defined in order of - * descending widths. - * - * We currently assume that the minimum-width types and the fastest - * minimum-width types are the same. This is allowed by the standard, but is - * suboptimal. - * - * In violation of the standard, some targets do not implement a type that is - * wide enough to represent all of the required widths (8-, 16-, 32-, 64-bit). - * To accommodate these targets, a required minimum-width type is only - * defined if there exists an exact-width type of equal or greater width. - */ - -#ifdef __INT64_TYPE__ -# ifndef __int8_t_defined /* glibc sys/types.h also defines int64_t*/ -typedef __INT64_TYPE__ int64_t; -# endif /* __int8_t_defined */ -typedef __UINT64_TYPE__ uint64_t; -# define __int_least64_t int64_t -# define __uint_least64_t uint64_t -# define __int_least32_t int64_t -# define __uint_least32_t uint64_t -# define __int_least16_t int64_t -# define __uint_least16_t uint64_t -# define __int_least8_t int64_t -# define __uint_least8_t uint64_t -#endif /* __INT64_TYPE__ */ - -#ifdef __int_least64_t -typedef __int_least64_t int_least64_t; -typedef __uint_least64_t uint_least64_t; -typedef __int_least64_t int_fast64_t; -typedef __uint_least64_t uint_fast64_t; -#endif /* __int_least64_t */ - -#ifdef __INT56_TYPE__ -typedef __INT56_TYPE__ int56_t; -typedef __UINT56_TYPE__ uint56_t; -typedef int56_t int_least56_t; -typedef uint56_t uint_least56_t; -typedef int56_t int_fast56_t; -typedef uint56_t uint_fast56_t; -# define __int_least32_t int56_t -# define __uint_least32_t uint56_t -# define __int_least16_t int56_t -# define __uint_least16_t uint56_t -# define __int_least8_t int56_t -# define __uint_least8_t uint56_t -#endif /* __INT56_TYPE__ */ - - -#ifdef __INT48_TYPE__ -typedef __INT48_TYPE__ int48_t; -typedef __UINT48_TYPE__ uint48_t; -typedef int48_t int_least48_t; -typedef uint48_t uint_least48_t; -typedef int48_t int_fast48_t; -typedef uint48_t uint_fast48_t; -# define __int_least32_t int48_t -# define __uint_least32_t uint48_t -# define __int_least16_t int48_t -# define __uint_least16_t uint48_t -# define __int_least8_t int48_t -# define __uint_least8_t uint48_t -#endif /* __INT48_TYPE__ */ - - -#ifdef __INT40_TYPE__ -typedef __INT40_TYPE__ int40_t; -typedef __UINT40_TYPE__ uint40_t; -typedef int40_t int_least40_t; -typedef uint40_t uint_least40_t; -typedef int40_t int_fast40_t; -typedef uint40_t uint_fast40_t; -# define __int_least32_t int40_t -# define __uint_least32_t uint40_t -# define __int_least16_t int40_t -# define __uint_least16_t uint40_t -# define __int_least8_t int40_t -# define __uint_least8_t uint40_t -#endif /* __INT40_TYPE__ */ - - -#ifdef __INT32_TYPE__ - -# ifndef __int8_t_defined /* glibc sys/types.h also defines int32_t*/ -typedef __INT32_TYPE__ int32_t; -# endif /* __int8_t_defined */ - -# ifndef __uint32_t_defined /* more glibc compatibility */ -# define __uint32_t_defined -typedef __UINT32_TYPE__ uint32_t; -# endif /* __uint32_t_defined */ - -# define __int_least32_t int32_t -# define __uint_least32_t uint32_t -# define __int_least16_t int32_t -# define __uint_least16_t uint32_t -# define __int_least8_t int32_t -# define __uint_least8_t uint32_t -#endif /* __INT32_TYPE__ */ - -#ifdef __int_least32_t -typedef __int_least32_t int_least32_t; -typedef __uint_least32_t uint_least32_t; -typedef __int_least32_t int_fast32_t; -typedef __uint_least32_t uint_fast32_t; -#endif /* __int_least32_t */ - -#ifdef __INT24_TYPE__ -typedef __INT24_TYPE__ int24_t; -typedef __UINT24_TYPE__ uint24_t; -typedef int24_t int_least24_t; -typedef uint24_t uint_least24_t; -typedef int24_t int_fast24_t; -typedef uint24_t uint_fast24_t; -# define __int_least16_t int24_t -# define __uint_least16_t uint24_t -# define __int_least8_t int24_t -# define __uint_least8_t uint24_t -#endif /* __INT24_TYPE__ */ - -#ifdef __INT16_TYPE__ -#ifndef __int8_t_defined /* glibc sys/types.h also defines int16_t*/ -typedef __INT16_TYPE__ int16_t; -#endif /* __int8_t_defined */ -typedef __UINT16_TYPE__ uint16_t; -# define __int_least16_t int16_t -# define __uint_least16_t uint16_t -# define __int_least8_t int16_t -# define __uint_least8_t uint16_t -#endif /* __INT16_TYPE__ */ - -#ifdef __int_least16_t -typedef __int_least16_t int_least16_t; -typedef __uint_least16_t uint_least16_t; -typedef __int_least16_t int_fast16_t; -typedef __uint_least16_t uint_fast16_t; -#endif /* __int_least16_t */ - - -#ifdef __INT8_TYPE__ -#ifndef __int8_t_defined /* glibc sys/types.h also defines int8_t*/ -typedef __INT8_TYPE__ int8_t; -#endif /* __int8_t_defined */ -typedef __UINT8_TYPE__ uint8_t; -# define __int_least8_t int8_t -# define __uint_least8_t uint8_t -#endif /* __INT8_TYPE__ */ - -#ifdef __int_least8_t -typedef __int_least8_t int_least8_t; -typedef __uint_least8_t uint_least8_t; -typedef __int_least8_t int_fast8_t; -typedef __uint_least8_t uint_fast8_t; -#endif /* __int_least8_t */ - -/* prevent glibc sys/types.h from defining conflicting types */ -#ifndef __int8_t_defined -# define __int8_t_defined -#endif /* __int8_t_defined */ - -/* C99 7.18.1.4 Integer types capable of holding object pointers. - */ -#define __stdint_join3(a,b,c) a ## b ## c - -#ifndef _INTPTR_T -#ifndef __intptr_t_defined -typedef __INTPTR_TYPE__ intptr_t; -#define __intptr_t_defined -#define _INTPTR_T -#endif -#endif - -#ifndef _UINTPTR_T -typedef __UINTPTR_TYPE__ uintptr_t; -#define _UINTPTR_T -#endif - -/* C99 7.18.1.5 Greatest-width integer types. - */ -typedef __INTMAX_TYPE__ intmax_t; -typedef __UINTMAX_TYPE__ uintmax_t; - -/* C99 7.18.4 Macros for minimum-width integer constants. - * - * The standard requires that integer constant macros be defined for all the - * minimum-width types defined above. As 8-, 16-, 32-, and 64-bit minimum-width - * types are required, the corresponding integer constant macros are defined - * here. This implementation also defines minimum-width types for every other - * integer width that the target implements, so corresponding macros are - * defined below, too. - * - * These macros are defined using the same successive-shrinking approach as - * the type definitions above. It is likewise important that macros are defined - * in order of decending width. - * - * Note that C++ should not check __STDC_CONSTANT_MACROS here, contrary to the - * claims of the C standard (see C++ 18.3.1p2, [cstdint.syn]). - */ - -#define __int_c_join(a, b) a ## b -#define __int_c(v, suffix) __int_c_join(v, suffix) -#define __uint_c(v, suffix) __int_c_join(v##U, suffix) - - -#ifdef __INT64_TYPE__ -# ifdef __INT64_C_SUFFIX__ -# define __int64_c_suffix __INT64_C_SUFFIX__ -# define __int32_c_suffix __INT64_C_SUFFIX__ -# define __int16_c_suffix __INT64_C_SUFFIX__ -# define __int8_c_suffix __INT64_C_SUFFIX__ -# else -# undef __int64_c_suffix -# undef __int32_c_suffix -# undef __int16_c_suffix -# undef __int8_c_suffix -# endif /* __INT64_C_SUFFIX__ */ -#endif /* __INT64_TYPE__ */ - -#ifdef __int_least64_t -# ifdef __int64_c_suffix -# define INT64_C(v) __int_c(v, __int64_c_suffix) -# define UINT64_C(v) __uint_c(v, __int64_c_suffix) -# else -# define INT64_C(v) v -# define UINT64_C(v) v ## U -# endif /* __int64_c_suffix */ -#endif /* __int_least64_t */ - - -#ifdef __INT56_TYPE__ -# ifdef __INT56_C_SUFFIX__ -# define INT56_C(v) __int_c(v, __INT56_C_SUFFIX__) -# define UINT56_C(v) __uint_c(v, __INT56_C_SUFFIX__) -# define __int32_c_suffix __INT56_C_SUFFIX__ -# define __int16_c_suffix __INT56_C_SUFFIX__ -# define __int8_c_suffix __INT56_C_SUFFIX__ -# else -# define INT56_C(v) v -# define UINT56_C(v) v ## U -# undef __int32_c_suffix -# undef __int16_c_suffix -# undef __int8_c_suffix -# endif /* __INT56_C_SUFFIX__ */ -#endif /* __INT56_TYPE__ */ - - -#ifdef __INT48_TYPE__ -# ifdef __INT48_C_SUFFIX__ -# define INT48_C(v) __int_c(v, __INT48_C_SUFFIX__) -# define UINT48_C(v) __uint_c(v, __INT48_C_SUFFIX__) -# define __int32_c_suffix __INT48_C_SUFFIX__ -# define __int16_c_suffix __INT48_C_SUFFIX__ -# define __int8_c_suffix __INT48_C_SUFFIX__ -# else -# define INT48_C(v) v -# define UINT48_C(v) v ## U -# undef __int32_c_suffix -# undef __int16_c_suffix -# undef __int8_c_suffix -# endif /* __INT48_C_SUFFIX__ */ -#endif /* __INT48_TYPE__ */ - - -#ifdef __INT40_TYPE__ -# ifdef __INT40_C_SUFFIX__ -# define INT40_C(v) __int_c(v, __INT40_C_SUFFIX__) -# define UINT40_C(v) __uint_c(v, __INT40_C_SUFFIX__) -# define __int32_c_suffix __INT40_C_SUFFIX__ -# define __int16_c_suffix __INT40_C_SUFFIX__ -# define __int8_c_suffix __INT40_C_SUFFIX__ -# else -# define INT40_C(v) v -# define UINT40_C(v) v ## U -# undef __int32_c_suffix -# undef __int16_c_suffix -# undef __int8_c_suffix -# endif /* __INT40_C_SUFFIX__ */ -#endif /* __INT40_TYPE__ */ - - -#ifdef __INT32_TYPE__ -# ifdef __INT32_C_SUFFIX__ -# define __int32_c_suffix __INT32_C_SUFFIX__ -# define __int16_c_suffix __INT32_C_SUFFIX__ -# define __int8_c_suffix __INT32_C_SUFFIX__ -#else -# undef __int32_c_suffix -# undef __int16_c_suffix -# undef __int8_c_suffix -# endif /* __INT32_C_SUFFIX__ */ -#endif /* __INT32_TYPE__ */ - -#ifdef __int_least32_t -# ifdef __int32_c_suffix -# define INT32_C(v) __int_c(v, __int32_c_suffix) -# define UINT32_C(v) __uint_c(v, __int32_c_suffix) -# else -# define INT32_C(v) v -# define UINT32_C(v) v ## U -# endif /* __int32_c_suffix */ -#endif /* __int_least32_t */ - - -#ifdef __INT24_TYPE__ -# ifdef __INT24_C_SUFFIX__ -# define INT24_C(v) __int_c(v, __INT24_C_SUFFIX__) -# define UINT24_C(v) __uint_c(v, __INT24_C_SUFFIX__) -# define __int16_c_suffix __INT24_C_SUFFIX__ -# define __int8_c_suffix __INT24_C_SUFFIX__ -# else -# define INT24_C(v) v -# define UINT24_C(v) v ## U -# undef __int16_c_suffix -# undef __int8_c_suffix -# endif /* __INT24_C_SUFFIX__ */ -#endif /* __INT24_TYPE__ */ - - -#ifdef __INT16_TYPE__ -# ifdef __INT16_C_SUFFIX__ -# define __int16_c_suffix __INT16_C_SUFFIX__ -# define __int8_c_suffix __INT16_C_SUFFIX__ -#else -# undef __int16_c_suffix -# undef __int8_c_suffix -# endif /* __INT16_C_SUFFIX__ */ -#endif /* __INT16_TYPE__ */ - -#ifdef __int_least16_t -# ifdef __int16_c_suffix -# define INT16_C(v) __int_c(v, __int16_c_suffix) -# define UINT16_C(v) __uint_c(v, __int16_c_suffix) -# else -# define INT16_C(v) v -# define UINT16_C(v) v ## U -# endif /* __int16_c_suffix */ -#endif /* __int_least16_t */ - - -#ifdef __INT8_TYPE__ -# ifdef __INT8_C_SUFFIX__ -# define __int8_c_suffix __INT8_C_SUFFIX__ -#else -# undef __int8_c_suffix -# endif /* __INT8_C_SUFFIX__ */ -#endif /* __INT8_TYPE__ */ - -#ifdef __int_least8_t -# ifdef __int8_c_suffix -# define INT8_C(v) __int_c(v, __int8_c_suffix) -# define UINT8_C(v) __uint_c(v, __int8_c_suffix) -# else -# define INT8_C(v) v -# define UINT8_C(v) v ## U -# endif /* __int8_c_suffix */ -#endif /* __int_least8_t */ - - -/* C99 7.18.2.1 Limits of exact-width integer types. - * C99 7.18.2.2 Limits of minimum-width integer types. - * C99 7.18.2.3 Limits of fastest minimum-width integer types. - * - * The presence of limit macros are completely optional in C99. This - * implementation defines limits for all of the types (exact- and - * minimum-width) that it defines above, using the limits of the minimum-width - * type for any types that do not have exact-width representations. - * - * As in the type definitions, this section takes an approach of - * successive-shrinking to determine which limits to use for the standard (8, - * 16, 32, 64) bit widths when they don't have exact representations. It is - * therefore important that the definitions be kept in order of decending - * widths. - * - * Note that C++ should not check __STDC_LIMIT_MACROS here, contrary to the - * claims of the C standard (see C++ 18.3.1p2, [cstdint.syn]). - */ - -#ifdef __INT64_TYPE__ -# define INT64_MAX INT64_C( 9223372036854775807) -# define INT64_MIN (-INT64_C( 9223372036854775807)-1) -# define UINT64_MAX UINT64_C(18446744073709551615) -# define __INT_LEAST64_MIN INT64_MIN -# define __INT_LEAST64_MAX INT64_MAX -# define __UINT_LEAST64_MAX UINT64_MAX -# define __INT_LEAST32_MIN INT64_MIN -# define __INT_LEAST32_MAX INT64_MAX -# define __UINT_LEAST32_MAX UINT64_MAX -# define __INT_LEAST16_MIN INT64_MIN -# define __INT_LEAST16_MAX INT64_MAX -# define __UINT_LEAST16_MAX UINT64_MAX -# define __INT_LEAST8_MIN INT64_MIN -# define __INT_LEAST8_MAX INT64_MAX -# define __UINT_LEAST8_MAX UINT64_MAX -#endif /* __INT64_TYPE__ */ - -#ifdef __INT_LEAST64_MIN -# define INT_LEAST64_MIN __INT_LEAST64_MIN -# define INT_LEAST64_MAX __INT_LEAST64_MAX -# define UINT_LEAST64_MAX __UINT_LEAST64_MAX -# define INT_FAST64_MIN __INT_LEAST64_MIN -# define INT_FAST64_MAX __INT_LEAST64_MAX -# define UINT_FAST64_MAX __UINT_LEAST64_MAX -#endif /* __INT_LEAST64_MIN */ - - -#ifdef __INT56_TYPE__ -# define INT56_MAX INT56_C(36028797018963967) -# define INT56_MIN (-INT56_C(36028797018963967)-1) -# define UINT56_MAX UINT56_C(72057594037927935) -# define INT_LEAST56_MIN INT56_MIN -# define INT_LEAST56_MAX INT56_MAX -# define UINT_LEAST56_MAX UINT56_MAX -# define INT_FAST56_MIN INT56_MIN -# define INT_FAST56_MAX INT56_MAX -# define UINT_FAST56_MAX UINT56_MAX -# define __INT_LEAST32_MIN INT56_MIN -# define __INT_LEAST32_MAX INT56_MAX -# define __UINT_LEAST32_MAX UINT56_MAX -# define __INT_LEAST16_MIN INT56_MIN -# define __INT_LEAST16_MAX INT56_MAX -# define __UINT_LEAST16_MAX UINT56_MAX -# define __INT_LEAST8_MIN INT56_MIN -# define __INT_LEAST8_MAX INT56_MAX -# define __UINT_LEAST8_MAX UINT56_MAX -#endif /* __INT56_TYPE__ */ - - -#ifdef __INT48_TYPE__ -# define INT48_MAX INT48_C(140737488355327) -# define INT48_MIN (-INT48_C(140737488355327)-1) -# define UINT48_MAX UINT48_C(281474976710655) -# define INT_LEAST48_MIN INT48_MIN -# define INT_LEAST48_MAX INT48_MAX -# define UINT_LEAST48_MAX UINT48_MAX -# define INT_FAST48_MIN INT48_MIN -# define INT_FAST48_MAX INT48_MAX -# define UINT_FAST48_MAX UINT48_MAX -# define __INT_LEAST32_MIN INT48_MIN -# define __INT_LEAST32_MAX INT48_MAX -# define __UINT_LEAST32_MAX UINT48_MAX -# define __INT_LEAST16_MIN INT48_MIN -# define __INT_LEAST16_MAX INT48_MAX -# define __UINT_LEAST16_MAX UINT48_MAX -# define __INT_LEAST8_MIN INT48_MIN -# define __INT_LEAST8_MAX INT48_MAX -# define __UINT_LEAST8_MAX UINT48_MAX -#endif /* __INT48_TYPE__ */ - - -#ifdef __INT40_TYPE__ -# define INT40_MAX INT40_C(549755813887) -# define INT40_MIN (-INT40_C(549755813887)-1) -# define UINT40_MAX UINT40_C(1099511627775) -# define INT_LEAST40_MIN INT40_MIN -# define INT_LEAST40_MAX INT40_MAX -# define UINT_LEAST40_MAX UINT40_MAX -# define INT_FAST40_MIN INT40_MIN -# define INT_FAST40_MAX INT40_MAX -# define UINT_FAST40_MAX UINT40_MAX -# define __INT_LEAST32_MIN INT40_MIN -# define __INT_LEAST32_MAX INT40_MAX -# define __UINT_LEAST32_MAX UINT40_MAX -# define __INT_LEAST16_MIN INT40_MIN -# define __INT_LEAST16_MAX INT40_MAX -# define __UINT_LEAST16_MAX UINT40_MAX -# define __INT_LEAST8_MIN INT40_MIN -# define __INT_LEAST8_MAX INT40_MAX -# define __UINT_LEAST8_MAX UINT40_MAX -#endif /* __INT40_TYPE__ */ - - -#ifdef __INT32_TYPE__ -# define INT32_MAX INT32_C(2147483647) -# define INT32_MIN (-INT32_C(2147483647)-1) -# define UINT32_MAX UINT32_C(4294967295) -# define __INT_LEAST32_MIN INT32_MIN -# define __INT_LEAST32_MAX INT32_MAX -# define __UINT_LEAST32_MAX UINT32_MAX -# define __INT_LEAST16_MIN INT32_MIN -# define __INT_LEAST16_MAX INT32_MAX -# define __UINT_LEAST16_MAX UINT32_MAX -# define __INT_LEAST8_MIN INT32_MIN -# define __INT_LEAST8_MAX INT32_MAX -# define __UINT_LEAST8_MAX UINT32_MAX -#endif /* __INT32_TYPE__ */ - -#ifdef __INT_LEAST32_MIN -# define INT_LEAST32_MIN __INT_LEAST32_MIN -# define INT_LEAST32_MAX __INT_LEAST32_MAX -# define UINT_LEAST32_MAX __UINT_LEAST32_MAX -# define INT_FAST32_MIN __INT_LEAST32_MIN -# define INT_FAST32_MAX __INT_LEAST32_MAX -# define UINT_FAST32_MAX __UINT_LEAST32_MAX -#endif /* __INT_LEAST32_MIN */ - - -#ifdef __INT24_TYPE__ -# define INT24_MAX INT24_C(8388607) -# define INT24_MIN (-INT24_C(8388607)-1) -# define UINT24_MAX UINT24_C(16777215) -# define INT_LEAST24_MIN INT24_MIN -# define INT_LEAST24_MAX INT24_MAX -# define UINT_LEAST24_MAX UINT24_MAX -# define INT_FAST24_MIN INT24_MIN -# define INT_FAST24_MAX INT24_MAX -# define UINT_FAST24_MAX UINT24_MAX -# define __INT_LEAST16_MIN INT24_MIN -# define __INT_LEAST16_MAX INT24_MAX -# define __UINT_LEAST16_MAX UINT24_MAX -# define __INT_LEAST8_MIN INT24_MIN -# define __INT_LEAST8_MAX INT24_MAX -# define __UINT_LEAST8_MAX UINT24_MAX -#endif /* __INT24_TYPE__ */ - - -#ifdef __INT16_TYPE__ -#define INT16_MAX INT16_C(32767) -#define INT16_MIN (-INT16_C(32767)-1) -#define UINT16_MAX UINT16_C(65535) -# define __INT_LEAST16_MIN INT16_MIN -# define __INT_LEAST16_MAX INT16_MAX -# define __UINT_LEAST16_MAX UINT16_MAX -# define __INT_LEAST8_MIN INT16_MIN -# define __INT_LEAST8_MAX INT16_MAX -# define __UINT_LEAST8_MAX UINT16_MAX -#endif /* __INT16_TYPE__ */ - -#ifdef __INT_LEAST16_MIN -# define INT_LEAST16_MIN __INT_LEAST16_MIN -# define INT_LEAST16_MAX __INT_LEAST16_MAX -# define UINT_LEAST16_MAX __UINT_LEAST16_MAX -# define INT_FAST16_MIN __INT_LEAST16_MIN -# define INT_FAST16_MAX __INT_LEAST16_MAX -# define UINT_FAST16_MAX __UINT_LEAST16_MAX -#endif /* __INT_LEAST16_MIN */ - - -#ifdef __INT8_TYPE__ -# define INT8_MAX INT8_C(127) -# define INT8_MIN (-INT8_C(127)-1) -# define UINT8_MAX UINT8_C(255) -# define __INT_LEAST8_MIN INT8_MIN -# define __INT_LEAST8_MAX INT8_MAX -# define __UINT_LEAST8_MAX UINT8_MAX -#endif /* __INT8_TYPE__ */ - -#ifdef __INT_LEAST8_MIN -# define INT_LEAST8_MIN __INT_LEAST8_MIN -# define INT_LEAST8_MAX __INT_LEAST8_MAX -# define UINT_LEAST8_MAX __UINT_LEAST8_MAX -# define INT_FAST8_MIN __INT_LEAST8_MIN -# define INT_FAST8_MAX __INT_LEAST8_MAX -# define UINT_FAST8_MAX __UINT_LEAST8_MAX -#endif /* __INT_LEAST8_MIN */ - -/* Some utility macros */ -#define __INTN_MIN(n) __stdint_join3( INT, n, _MIN) -#define __INTN_MAX(n) __stdint_join3( INT, n, _MAX) -#define __UINTN_MAX(n) __stdint_join3(UINT, n, _MAX) -#define __INTN_C(n, v) __stdint_join3( INT, n, _C(v)) -#define __UINTN_C(n, v) __stdint_join3(UINT, n, _C(v)) - -/* C99 7.18.2.4 Limits of integer types capable of holding object pointers. */ -/* C99 7.18.3 Limits of other integer types. */ - -#define INTPTR_MIN (-__INTPTR_MAX__-1) -#define INTPTR_MAX __INTPTR_MAX__ -#define UINTPTR_MAX __UINTPTR_MAX__ -#define PTRDIFF_MIN (-__PTRDIFF_MAX__-1) -#define PTRDIFF_MAX __PTRDIFF_MAX__ -#define SIZE_MAX __SIZE_MAX__ - -/* ISO9899:2011 7.20 (C11 Annex K): Define RSIZE_MAX if __STDC_WANT_LIB_EXT1__ - * is enabled. */ -#if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 -#define RSIZE_MAX (SIZE_MAX >> 1) -#endif - -/* C99 7.18.2.5 Limits of greatest-width integer types. */ -#define INTMAX_MIN (-__INTMAX_MAX__-1) -#define INTMAX_MAX __INTMAX_MAX__ -#define UINTMAX_MAX __UINTMAX_MAX__ - -/* C99 7.18.3 Limits of other integer types. */ -#define SIG_ATOMIC_MIN __INTN_MIN(__SIG_ATOMIC_WIDTH__) -#define SIG_ATOMIC_MAX __INTN_MAX(__SIG_ATOMIC_WIDTH__) -#ifdef __WINT_UNSIGNED__ -# define WINT_MIN __UINTN_C(__WINT_WIDTH__, 0) -# define WINT_MAX __UINTN_MAX(__WINT_WIDTH__) -#else -# define WINT_MIN __INTN_MIN(__WINT_WIDTH__) -# define WINT_MAX __INTN_MAX(__WINT_WIDTH__) -#endif - -#ifndef WCHAR_MAX -# define WCHAR_MAX __WCHAR_MAX__ -#endif -#ifndef WCHAR_MIN -# if __WCHAR_MAX__ == __INTN_MAX(__WCHAR_WIDTH__) -# define WCHAR_MIN __INTN_MIN(__WCHAR_WIDTH__) -# else -# define WCHAR_MIN __UINTN_C(__WCHAR_WIDTH__, 0) -# endif -#endif - -/* 7.18.4.2 Macros for greatest-width integer constants. */ -#define INTMAX_C(v) __int_c(v, __INTMAX_C_SUFFIX__) -#define UINTMAX_C(v) __int_c(v, __UINTMAX_C_SUFFIX__) - -#endif /* __STDC_HOSTED__ */ -#endif /* __CLANG_STDINT_H */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stdint.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stdint.h.blob deleted file mode 100644 index 68ee7af..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@kp82vlqrn91lk1hfh6rzpmqahsxihk18-clang-13.0.1-lib@lib@clang@13.0.1@include@stdint.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@errno-base.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@errno-base.h deleted file mode 100644 index 9653140..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@errno-base.h +++ /dev/null @@ -1,40 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#ifndef _ASM_GENERIC_ERRNO_BASE_H -#define _ASM_GENERIC_ERRNO_BASE_H - -#define EPERM 1 /* Operation not permitted */ -#define ENOENT 2 /* No such file or directory */ -#define ESRCH 3 /* No such process */ -#define EINTR 4 /* Interrupted system call */ -#define EIO 5 /* I/O error */ -#define ENXIO 6 /* No such device or address */ -#define E2BIG 7 /* Argument list too long */ -#define ENOEXEC 8 /* Exec format error */ -#define EBADF 9 /* Bad file number */ -#define ECHILD 10 /* No child processes */ -#define EAGAIN 11 /* Try again */ -#define ENOMEM 12 /* Out of memory */ -#define EACCES 13 /* Permission denied */ -#define EFAULT 14 /* Bad address */ -#define ENOTBLK 15 /* Block device required */ -#define EBUSY 16 /* Device or resource busy */ -#define EEXIST 17 /* File exists */ -#define EXDEV 18 /* Cross-device link */ -#define ENODEV 19 /* No such device */ -#define ENOTDIR 20 /* Not a directory */ -#define EISDIR 21 /* Is a directory */ -#define EINVAL 22 /* Invalid argument */ -#define ENFILE 23 /* File table overflow */ -#define EMFILE 24 /* Too many open files */ -#define ENOTTY 25 /* Not a typewriter */ -#define ETXTBSY 26 /* Text file busy */ -#define EFBIG 27 /* File too large */ -#define ENOSPC 28 /* No space left on device */ -#define ESPIPE 29 /* Illegal seek */ -#define EROFS 30 /* Read-only file system */ -#define EMLINK 31 /* Too many links */ -#define EPIPE 32 /* Broken pipe */ -#define EDOM 33 /* Math argument out of domain of func */ -#define ERANGE 34 /* Math result not representable */ - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@errno-base.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@errno-base.h.blob deleted file mode 100644 index 0a97836..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@errno-base.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@errno.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@errno.h deleted file mode 100644 index cf9c51a..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@errno.h +++ /dev/null @@ -1,123 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#ifndef _ASM_GENERIC_ERRNO_H -#define _ASM_GENERIC_ERRNO_H - -#include - -#define EDEADLK 35 /* Resource deadlock would occur */ -#define ENAMETOOLONG 36 /* File name too long */ -#define ENOLCK 37 /* No record locks available */ - -/* - * This error code is special: arch syscall entry code will return - * -ENOSYS if users try to call a syscall that doesn't exist. To keep - * failures of syscalls that really do exist distinguishable from - * failures due to attempts to use a nonexistent syscall, syscall - * implementations should refrain from returning -ENOSYS. - */ -#define ENOSYS 38 /* Invalid system call number */ - -#define ENOTEMPTY 39 /* Directory not empty */ -#define ELOOP 40 /* Too many symbolic links encountered */ -#define EWOULDBLOCK EAGAIN /* Operation would block */ -#define ENOMSG 42 /* No message of desired type */ -#define EIDRM 43 /* Identifier removed */ -#define ECHRNG 44 /* Channel number out of range */ -#define EL2NSYNC 45 /* Level 2 not synchronized */ -#define EL3HLT 46 /* Level 3 halted */ -#define EL3RST 47 /* Level 3 reset */ -#define ELNRNG 48 /* Link number out of range */ -#define EUNATCH 49 /* Protocol driver not attached */ -#define ENOCSI 50 /* No CSI structure available */ -#define EL2HLT 51 /* Level 2 halted */ -#define EBADE 52 /* Invalid exchange */ -#define EBADR 53 /* Invalid request descriptor */ -#define EXFULL 54 /* Exchange full */ -#define ENOANO 55 /* No anode */ -#define EBADRQC 56 /* Invalid request code */ -#define EBADSLT 57 /* Invalid slot */ - -#define EDEADLOCK EDEADLK - -#define EBFONT 59 /* Bad font file format */ -#define ENOSTR 60 /* Device not a stream */ -#define ENODATA 61 /* No data available */ -#define ETIME 62 /* Timer expired */ -#define ENOSR 63 /* Out of streams resources */ -#define ENONET 64 /* Machine is not on the network */ -#define ENOPKG 65 /* Package not installed */ -#define EREMOTE 66 /* Object is remote */ -#define ENOLINK 67 /* Link has been severed */ -#define EADV 68 /* Advertise error */ -#define ESRMNT 69 /* Srmount error */ -#define ECOMM 70 /* Communication error on send */ -#define EPROTO 71 /* Protocol error */ -#define EMULTIHOP 72 /* Multihop attempted */ -#define EDOTDOT 73 /* RFS specific error */ -#define EBADMSG 74 /* Not a data message */ -#define EOVERFLOW 75 /* Value too large for defined data type */ -#define ENOTUNIQ 76 /* Name not unique on network */ -#define EBADFD 77 /* File descriptor in bad state */ -#define EREMCHG 78 /* Remote address changed */ -#define ELIBACC 79 /* Can not access a needed shared library */ -#define ELIBBAD 80 /* Accessing a corrupted shared library */ -#define ELIBSCN 81 /* .lib section in a.out corrupted */ -#define ELIBMAX 82 /* Attempting to link in too many shared libraries */ -#define ELIBEXEC 83 /* Cannot exec a shared library directly */ -#define EILSEQ 84 /* Illegal byte sequence */ -#define ERESTART 85 /* Interrupted system call should be restarted */ -#define ESTRPIPE 86 /* Streams pipe error */ -#define EUSERS 87 /* Too many users */ -#define ENOTSOCK 88 /* Socket operation on non-socket */ -#define EDESTADDRREQ 89 /* Destination address required */ -#define EMSGSIZE 90 /* Message too long */ -#define EPROTOTYPE 91 /* Protocol wrong type for socket */ -#define ENOPROTOOPT 92 /* Protocol not available */ -#define EPROTONOSUPPORT 93 /* Protocol not supported */ -#define ESOCKTNOSUPPORT 94 /* Socket type not supported */ -#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ -#define EPFNOSUPPORT 96 /* Protocol family not supported */ -#define EAFNOSUPPORT 97 /* Address family not supported by protocol */ -#define EADDRINUSE 98 /* Address already in use */ -#define EADDRNOTAVAIL 99 /* Cannot assign requested address */ -#define ENETDOWN 100 /* Network is down */ -#define ENETUNREACH 101 /* Network is unreachable */ -#define ENETRESET 102 /* Network dropped connection because of reset */ -#define ECONNABORTED 103 /* Software caused connection abort */ -#define ECONNRESET 104 /* Connection reset by peer */ -#define ENOBUFS 105 /* No buffer space available */ -#define EISCONN 106 /* Transport endpoint is already connected */ -#define ENOTCONN 107 /* Transport endpoint is not connected */ -#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */ -#define ETOOMANYREFS 109 /* Too many references: cannot splice */ -#define ETIMEDOUT 110 /* Connection timed out */ -#define ECONNREFUSED 111 /* Connection refused */ -#define EHOSTDOWN 112 /* Host is down */ -#define EHOSTUNREACH 113 /* No route to host */ -#define EALREADY 114 /* Operation already in progress */ -#define EINPROGRESS 115 /* Operation now in progress */ -#define ESTALE 116 /* Stale file handle */ -#define EUCLEAN 117 /* Structure needs cleaning */ -#define ENOTNAM 118 /* Not a XENIX named type file */ -#define ENAVAIL 119 /* No XENIX semaphores available */ -#define EISNAM 120 /* Is a named type file */ -#define EREMOTEIO 121 /* Remote I/O error */ -#define EDQUOT 122 /* Quota exceeded */ - -#define ENOMEDIUM 123 /* No medium found */ -#define EMEDIUMTYPE 124 /* Wrong medium type */ -#define ECANCELED 125 /* Operation Canceled */ -#define ENOKEY 126 /* Required key not available */ -#define EKEYEXPIRED 127 /* Key has expired */ -#define EKEYREVOKED 128 /* Key has been revoked */ -#define EKEYREJECTED 129 /* Key was rejected by service */ - -/* for robust mutexes */ -#define EOWNERDEAD 130 /* Owner died */ -#define ENOTRECOVERABLE 131 /* State not recoverable */ - -#define ERFKILL 132 /* Operation not possible due to RF-kill */ - -#define EHWPOISON 133 /* Memory page has hardware error */ - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@errno.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@errno.h.blob deleted file mode 100644 index 21f0bc7..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@errno.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@ioctl.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@ioctl.h deleted file mode 100644 index 8cbb364..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@ioctl.h +++ /dev/null @@ -1,105 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#ifndef _ASM_GENERIC_IOCTL_H -#define _ASM_GENERIC_IOCTL_H - -/* ioctl command encoding: 32 bits total, command in lower 16 bits, - * size of the parameter structure in the lower 14 bits of the - * upper 16 bits. - * Encoding the size of the parameter structure in the ioctl request - * is useful for catching programs compiled with old versions - * and to avoid overwriting user space outside the user buffer area. - * The highest 2 bits are reserved for indicating the ``access mode''. - * NOTE: This limits the max parameter size to 16kB -1 ! - */ - -/* - * The following is for compatibility across the various Linux - * platforms. The generic ioctl numbering scheme doesn't really enforce - * a type field. De facto, however, the top 8 bits of the lower 16 - * bits are indeed used as a type field, so we might just as well make - * this explicit here. Please be sure to use the decoding macros - * below from now on. - */ -#define _IOC_NRBITS 8 -#define _IOC_TYPEBITS 8 - -/* - * Let any architecture override either of the following before - * including this file. - */ - -#ifndef _IOC_SIZEBITS -# define _IOC_SIZEBITS 14 -#endif - -#ifndef _IOC_DIRBITS -# define _IOC_DIRBITS 2 -#endif - -#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1) -#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1) -#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1) -#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1) - -#define _IOC_NRSHIFT 0 -#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS) -#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS) -#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS) - -/* - * Direction bits, which any architecture can choose to override - * before including this file. - * - * NOTE: _IOC_WRITE means userland is writing and kernel is - * reading. _IOC_READ means userland is reading and kernel is writing. - */ - -#ifndef _IOC_NONE -# define _IOC_NONE 0U -#endif - -#ifndef _IOC_WRITE -# define _IOC_WRITE 1U -#endif - -#ifndef _IOC_READ -# define _IOC_READ 2U -#endif - -#define _IOC(dir,type,nr,size) \ - (((dir) << _IOC_DIRSHIFT) | \ - ((type) << _IOC_TYPESHIFT) | \ - ((nr) << _IOC_NRSHIFT) | \ - ((size) << _IOC_SIZESHIFT)) - -#define _IOC_TYPECHECK(t) (sizeof(t)) - -/* - * Used to create numbers. - * - * NOTE: _IOW means userland is writing and kernel is reading. _IOR - * means userland is reading and kernel is writing. - */ -#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0) -#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(size))) -#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size))) -#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size))) -#define _IOR_BAD(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size)) -#define _IOW_BAD(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) -#define _IOWR_BAD(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) - -/* used to decode ioctl numbers.. */ -#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) -#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) -#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK) -#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK) - -/* ...and for the drivers/sound files... */ - -#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT) -#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT) -#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT) -#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT) -#define IOCSIZE_SHIFT (_IOC_SIZESHIFT) - -#endif /* _ASM_GENERIC_IOCTL_H */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@ioctl.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@ioctl.h.blob deleted file mode 100644 index 2cb31f1..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@ioctl.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@ioctls.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@ioctls.h deleted file mode 100644 index ab5479a..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@ioctls.h +++ /dev/null @@ -1,121 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#ifndef __ASM_GENERIC_IOCTLS_H -#define __ASM_GENERIC_IOCTLS_H - -#include - -/* - * These are the most common definitions for tty ioctl numbers. - * Most of them do not use the recommended _IOC(), but there is - * probably some source code out there hardcoding the number, - * so we might as well use them for all new platforms. - * - * The architectures that use different values here typically - * try to be compatible with some Unix variants for the same - * architecture. - */ - -/* 0x54 is just a magic number to make these relatively unique ('T') */ - -#define TCGETS 0x5401 -#define TCSETS 0x5402 -#define TCSETSW 0x5403 -#define TCSETSF 0x5404 -#define TCGETA 0x5405 -#define TCSETA 0x5406 -#define TCSETAW 0x5407 -#define TCSETAF 0x5408 -#define TCSBRK 0x5409 -#define TCXONC 0x540A -#define TCFLSH 0x540B -#define TIOCEXCL 0x540C -#define TIOCNXCL 0x540D -#define TIOCSCTTY 0x540E -#define TIOCGPGRP 0x540F -#define TIOCSPGRP 0x5410 -#define TIOCOUTQ 0x5411 -#define TIOCSTI 0x5412 -#define TIOCGWINSZ 0x5413 -#define TIOCSWINSZ 0x5414 -#define TIOCMGET 0x5415 -#define TIOCMBIS 0x5416 -#define TIOCMBIC 0x5417 -#define TIOCMSET 0x5418 -#define TIOCGSOFTCAR 0x5419 -#define TIOCSSOFTCAR 0x541A -#define FIONREAD 0x541B -#define TIOCINQ FIONREAD -#define TIOCLINUX 0x541C -#define TIOCCONS 0x541D -#define TIOCGSERIAL 0x541E -#define TIOCSSERIAL 0x541F -#define TIOCPKT 0x5420 -#define FIONBIO 0x5421 -#define TIOCNOTTY 0x5422 -#define TIOCSETD 0x5423 -#define TIOCGETD 0x5424 -#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */ -#define TIOCSBRK 0x5427 /* BSD compatibility */ -#define TIOCCBRK 0x5428 /* BSD compatibility */ -#define TIOCGSID 0x5429 /* Return the session ID of FD */ -#define TCGETS2 _IOR('T', 0x2A, struct termios2) -#define TCSETS2 _IOW('T', 0x2B, struct termios2) -#define TCSETSW2 _IOW('T', 0x2C, struct termios2) -#define TCSETSF2 _IOW('T', 0x2D, struct termios2) -#define TIOCGRS485 0x542E -#ifndef TIOCSRS485 -#define TIOCSRS485 0x542F -#endif -#define TIOCGPTN _IOR('T', 0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ -#define TIOCSPTLCK _IOW('T', 0x31, int) /* Lock/unlock Pty */ -#define TIOCGDEV _IOR('T', 0x32, unsigned int) /* Get primary device node of /dev/console */ -#define TCGETX 0x5432 /* SYS5 TCGETX compatibility */ -#define TCSETX 0x5433 -#define TCSETXF 0x5434 -#define TCSETXW 0x5435 -#define TIOCSIG _IOW('T', 0x36, int) /* pty: generate signal */ -#define TIOCVHANGUP 0x5437 -#define TIOCGPKT _IOR('T', 0x38, int) /* Get packet mode state */ -#define TIOCGPTLCK _IOR('T', 0x39, int) /* Get Pty lock state */ -#define TIOCGEXCL _IOR('T', 0x40, int) /* Get exclusive mode state */ -#define TIOCGPTPEER _IO('T', 0x41) /* Safely open the slave */ -#define TIOCGISO7816 _IOR('T', 0x42, struct serial_iso7816) -#define TIOCSISO7816 _IOWR('T', 0x43, struct serial_iso7816) - -#define FIONCLEX 0x5450 -#define FIOCLEX 0x5451 -#define FIOASYNC 0x5452 -#define TIOCSERCONFIG 0x5453 -#define TIOCSERGWILD 0x5454 -#define TIOCSERSWILD 0x5455 -#define TIOCGLCKTRMIOS 0x5456 -#define TIOCSLCKTRMIOS 0x5457 -#define TIOCSERGSTRUCT 0x5458 /* For debugging only */ -#define TIOCSERGETLSR 0x5459 /* Get line status register */ -#define TIOCSERGETMULTI 0x545A /* Get multiport config */ -#define TIOCSERSETMULTI 0x545B /* Set multiport config */ - -#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */ -#define TIOCGICOUNT 0x545D /* read serial port __inline__ interrupt counts */ - -/* - * Some arches already define FIOQSIZE due to a historical - * conflict with a Hayes modem-specific ioctl value. - */ -#ifndef FIOQSIZE -# define FIOQSIZE 0x5460 -#endif - -/* Used for packet mode */ -#define TIOCPKT_DATA 0 -#define TIOCPKT_FLUSHREAD 1 -#define TIOCPKT_FLUSHWRITE 2 -#define TIOCPKT_STOP 4 -#define TIOCPKT_START 8 -#define TIOCPKT_NOSTOP 16 -#define TIOCPKT_DOSTOP 32 -#define TIOCPKT_IOCTL 64 - -#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */ - -#endif /* __ASM_GENERIC_IOCTLS_H */ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@ioctls.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@ioctls.h.blob deleted file mode 100644 index cec1167..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm-generic@ioctls.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@errno.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@errno.h deleted file mode 100644 index 4c82b50..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@errno.h +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@errno.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@errno.h.blob deleted file mode 100644 index 5d239ea..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@errno.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@ioctl.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@ioctl.h deleted file mode 100644 index b279fe0..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@ioctl.h +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@ioctl.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@ioctl.h.blob deleted file mode 100644 index 4364c78..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@ioctl.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@ioctls.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@ioctls.h deleted file mode 100644 index ec34c76..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@ioctls.h +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@ioctls.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@ioctls.h.blob deleted file mode 100644 index 3a22417..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@asm@ioctls.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@errno.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@errno.h deleted file mode 100644 index 70f2bd3..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@errno.h +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@errno.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@errno.h.blob deleted file mode 100644 index b580b7e..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@errno.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@ioctl.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@ioctl.h deleted file mode 100644 index b292e80..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@ioctl.h +++ /dev/null @@ -1,8 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#ifndef _LINUX_IOCTL_H -#define _LINUX_IOCTL_H - -#include - -#endif /* _LINUX_IOCTL_H */ - diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@ioctl.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@ioctl.h.blob deleted file mode 100644 index 67aef2e..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@ioctl.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@limits.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@limits.h deleted file mode 100644 index c3547f0..0000000 --- a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@limits.h +++ /dev/null @@ -1,21 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#ifndef _LINUX_LIMITS_H -#define _LINUX_LIMITS_H - -#define NR_OPEN 1024 - -#define NGROUPS_MAX 65536 /* supplemental group IDs are available */ -#define ARG_MAX 131072 /* # bytes of args + environ for exec() */ -#define LINK_MAX 127 /* # links a file may have */ -#define MAX_CANON 255 /* size of the canonical input queue */ -#define MAX_INPUT 255 /* size of the type-ahead buffer */ -#define NAME_MAX 255 /* # chars in a file name */ -#define PATH_MAX 4096 /* # chars in a path name including nul */ -#define PIPE_BUF 4096 /* # bytes in atomic write to a pipe */ -#define XATTR_NAME_MAX 255 /* # chars in an extended attribute name */ -#define XATTR_SIZE_MAX 65536 /* size of an extended attribute value (64k) */ -#define XATTR_LIST_MAX 65536 /* size of extended attribute namelist (64k) */ - -#define RTSIG_MAX 32 - -#endif diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@limits.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@limits.h.blob deleted file mode 100644 index dfc7eaa..0000000 Binary files a/.ccls-cache/@@home@spy@Development@st/@nix@store@s9hsyw1csfr40yi3gv3cc65ymkil20n5-linux-headers-5.18@include@linux@limits.h.blob and /dev/null differ diff --git a/.ccls-cache/@home@spy@Development@st/colours.h b/.ccls-cache/@home@spy@Development@st/colours.h deleted file mode 100644 index 775ffc7..0000000 --- a/.ccls-cache/@home@spy@Development@st/colours.h +++ /dev/null @@ -1,36 +0,0 @@ -static const char *colorname[] = { - - /* 8 normal colors */ - [0] = "#1e2127", /* black */ - [1] = "#e06c75", /* red */ - [2] = "#98c379", /* green */ - [3] = "#d19a66", /* yellow */ - [4] = "#61afef", /* blue */ - [5] = "#c678dd", /* magenta */ - [6] = "#56b6c2", /* cyan */ - [7] = "#abb2bf", /* white */ - - /* 8 bright colors */ - [8] = "#5c6370", /* black */ - [9] = "#e06c75", /* red */ - [10] = "#98c379", /* green */ - [11] = "#d19a66", /* yellow */ - [12] = "#61afef", /* blue */ - [13] = "#c678dd", /* magenta */ - [14] = "#56b6c2", /* cyan */ - [15] = "#ffffff", /* white */ - - /* special colors */ - [256] = "#1e2127", /* background */ - [257] = "#abb2bf", /* foreground */ -}; - -/* - * Default colors (colorname index) - * foreground, background, cursor - */ -unsigned int defaultfg = 257; -unsigned int defaultbg = 256; -unsigned int defaultcs = 257; -unsigned int defaultrcs = 257; -unsigned int background = 256; diff --git a/.ccls-cache/@home@spy@Development@st/colours.h.blob b/.ccls-cache/@home@spy@Development@st/colours.h.blob deleted file mode 100644 index 8cafe7c..0000000 Binary files a/.ccls-cache/@home@spy@Development@st/colours.h.blob and /dev/null differ diff --git a/.ccls-cache/@home@spy@Development@st/config.h b/.ccls-cache/@home@spy@Development@st/config.h deleted file mode 100644 index 7b00814..0000000 --- a/.ccls-cache/@home@spy@Development@st/config.h +++ /dev/null @@ -1,473 +0,0 @@ -/* See LICENSE file for copyright and license details. */ - -/* - * appearance - * - * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html - */ -static char *font = "Terminus Nerd Font:pixelsize=16:antialias=true:autohint=true"; -static char *font2[] = { - "JoyPixels:pixelsize=16:antialias=true:autohint=true", - "Font Awesome 6 Free Solid:pixelsize=16:antialias=true:autohint=true", - "Font Awesome 6 Brands:pixelsize=16:antialias=true:autohint=true", -}; -static int borderpx = 2; - -/* - * What program is execed by st depends of these precedence rules: - * 1: program passed with -e - * 2: scroll and/or utmp - * 3: SHELL environment variable - * 4: value of shell in /etc/passwd - * 5: value of shell in config.h - */ -static char *shell = "/bin/sh"; -char *utmp = NULL; -/* scroll program: to enable use a string like "scroll" */ -char *scroll = NULL; -char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; - -/* identification sequence returned in DA and DECID */ -char *vtiden = "\033[?6c"; - -/* Kerning / character bounding-box multipliers */ -static float cwscale = 1.0; -static float chscale = 1.0; - -/* - * word delimiter string - * - * More advanced example: L" `'\"()[]{}" - */ -wchar_t *worddelimiters = L" "; - -/* selection timeouts (in milliseconds) */ -static unsigned int doubleclicktimeout = 300; -static unsigned int tripleclicktimeout = 600; - -/* alt screens */ -int allowaltscreen = 1; - -/* allow certain non-interactive (insecure) window operations such as: - setting the clipboard text */ -int allowwindowops = 0; - -/* - * draw latency range in ms - from new content/keypress/etc until drawing. - * within this range, st draws when content stops arriving (idle). mostly it's - * near minlatency, but it waits longer for slow updates to avoid partial draw. - * low minlatency will tear/flicker more, as it can "detect" idle too early. - */ -static double minlatency = 8; -static double maxlatency = 33; - -/* - * blinking timeout (set to 0 to disable blinking) for the terminal blinking - * attribute. - */ -static unsigned int blinktimeout = 800; - -/* - * thickness of underline and bar cursors - */ -static unsigned int cursorthickness = 2; - -/* - * 1: render most of the lines/blocks characters without using the font for - * perfect alignment between cells (U2500 - U259F except dashes/diagonals). - * Bold affects lines thickness if boxdraw_bold is not 0. Italic is ignored. - * 0: disable (render all U25XX glyphs normally from the font). - */ -const int boxdraw = 0; -const int boxdraw_bold = 0; - -/* braille (U28XX): 1: render as adjacent "pixels", 0: use font */ -const int boxdraw_braille = 0; - -/* - * bell volume. It must be a value between -100 and 100. Use 0 for disabling - * it - */ -static int bellvolume = 0; - -/* default TERM value */ -char *termname = "st-256color"; - -/* - * spaces per tab - * - * When you are changing this value, don't forget to adapt the »it« value in - * the st.info and appropriately install the st.info in the environment where - * you use this st version. - * - * it#$tabspaces, - * - * Secondly make sure your kernel is not expanding tabs. When running `stty - * -a` »tab0« should appear. You can tell the terminal to not expand tabs by - * running following command: - * - * stty tabs - */ -unsigned int tabspaces = 8; - -/* Terminal colors (16 first used in escape sequence) */ -#include "colours.h" - -/* - * Default shape of cursor - * 2: Block ("█") - * 4: Underline ("_") - * 6: Bar ("|") - * 7: Snowman ("☃") - */ -static unsigned int cursorshape = 2; - -/* - * Default columns and rows numbers - */ - -static unsigned int cols = 80; -static unsigned int rows = 24; - -/* - * Default colour and shape of the mouse cursor - */ -static unsigned int mouseshape = XC_xterm; -static unsigned int mousefg = 7; -static unsigned int mousebg = 0; - -/* - * Color used to display font attributes when fontconfig selected a font which - * doesn't match the ones requested. - */ -static unsigned int defaultattr = 11; - -/* - * Force mouse select/shortcuts while mask is active (when MODE_MOUSE is set). - * Note that if you want to use ShiftMask with selmasks, set this to an other - * modifier, set to 0 to not use it. - */ -static uint forcemousemod = ShiftMask; - -/* - * Internal mouse shortcuts. - * Beware that overloading Button1 will disable the selection. - */ -static MouseShortcut mshortcuts[] = { - /* mask button function argument release */ - { XK_NO_MOD, Button4, kscrollup, {.i = 1} }, - { XK_NO_MOD, Button5, kscrolldown, {.i = 1} }, - { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 }, - { ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} }, - { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, - { ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} }, - { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, -}; - -/* Internal keyboard shortcuts. */ -#define MODKEY Mod1Mask -#define TERMMOD (Mod1Mask|ShiftMask) - -static Shortcut shortcuts[] = { - /* mask keysym function argument */ - { XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} }, - { ControlMask, XK_Print, toggleprinter, {.i = 0} }, - { ShiftMask, XK_Print, printscreen, {.i = 0} }, - { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, - { TERMMOD, XK_Prior, zoom, {.f = +1} }, - { TERMMOD, XK_Next, zoom, {.f = -1} }, - { TERMMOD, XK_Home, zoomreset, {.f = 0} }, - { TERMMOD, XK_C, clipcopy, {.i = 0} }, - { TERMMOD, XK_V, clippaste, {.i = 0} }, - { MODKEY, XK_c, clipcopy, {.i = 0} }, - { ShiftMask, XK_Insert, clippaste, {.i = 0} }, - { MODKEY, XK_v, clippaste, {.i = 0} }, - { ShiftMask, XK_Insert, selpaste, {.i = 0} }, - { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, - { ShiftMask, XK_Page_Up, kscrollup, {.i = -1} }, - { ShiftMask, XK_Page_Down, kscrolldown, {.i = -1} }, - { MODKEY, XK_Page_Up, kscrollup, {.i = -1} }, - { MODKEY, XK_Page_Down, kscrolldown, {.i = -1} }, - { MODKEY, XK_k, kscrollup, {.i = 1} }, - { MODKEY, XK_j, kscrolldown, {.i = 1} }, - { MODKEY, XK_Up, kscrollup, {.i = 1} }, - { MODKEY, XK_Down, kscrolldown, {.i = 1} }, - { MODKEY, XK_u, kscrollup, {.i = -1} }, - { MODKEY, XK_d, kscrolldown, {.i = -1} }, - { TERMMOD, XK_Up, zoom, {.f = +1} }, - { TERMMOD, XK_Down, zoom, {.f = -1} }, - { TERMMOD, XK_K, zoom, {.f = +1} }, - { TERMMOD, XK_J, zoom, {.f = -1} }, - { TERMMOD, XK_U, zoom, {.f = +2} }, - { TERMMOD, XK_D, zoom, {.f = -2} }, -}; - -/* - * Special keys (change & recompile st.info accordingly) - * - * Mask value: - * * Use XK_ANY_MOD to match the key no matter modifiers state - * * Use XK_NO_MOD to match the key alone (no modifiers) - * appkey value: - * * 0: no value - * * > 0: keypad application mode enabled - * * = 2: term.numlock = 1 - * * < 0: keypad application mode disabled - * appcursor value: - * * 0: no value - * * > 0: cursor application mode enabled - * * < 0: cursor application mode disabled - * - * Be careful with the order of the definitions because st searches in - * this table sequentially, so any XK_ANY_MOD must be in the last - * position for a key. - */ - -/* - * If you want keys other than the X11 function keys (0xFD00 - 0xFFFF) - * to be mapped below, add them to this array. - */ -static KeySym mappedkeys[] = { -1 }; - -/* - * State bits to ignore when matching key or button events. By default, - * numlock (Mod2Mask) and keyboard layout (XK_SWITCH_MOD) are ignored. - */ -static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; - -/* - * This is the huge key array which defines all compatibility to the Linux - * world. Please decide about changes wisely. - */ -static Key key[] = { - /* keysym mask string appkey appcursor */ - { XK_KP_Home, ShiftMask, "\033[2J", 0, -1}, - { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1}, - { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1}, - { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1}, - { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0}, - { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1}, - { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1}, - { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0}, - { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1}, - { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1}, - { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0}, - { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1}, - { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1}, - { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0}, - { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1}, - { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1}, - { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0}, - { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, - { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0}, - { XK_KP_End, ControlMask, "\033[J", -1, 0}, - { XK_KP_End, ControlMask, "\033[1;5F", +1, 0}, - { XK_KP_End, ShiftMask, "\033[K", -1, 0}, - { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0}, - { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0}, - { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0}, - { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0}, - { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0}, - { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0}, - { XK_KP_Insert, ControlMask, "\033[L", -1, 0}, - { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0}, - { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, - { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, - { XK_KP_Delete, ControlMask, "\033[M", -1, 0}, - { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0}, - { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0}, - { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0}, - { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0}, - { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, - { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0}, - { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0}, - { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0}, - { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0}, - { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0}, - { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0}, - { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0}, - { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0}, - { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0}, - { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0}, - { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0}, - { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0}, - { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0}, - { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0}, - { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0}, - { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0}, - { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0}, - { XK_Up, ShiftMask, "\033[1;2A", 0, 0}, - { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, - { XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0}, - { XK_Up, ControlMask, "\033[1;5A", 0, 0}, - { XK_Up, ShiftMask|ControlMask,"\033[1;6A", 0, 0}, - { XK_Up, ControlMask|Mod1Mask,"\033[1;7A", 0, 0}, - { XK_Up,ShiftMask|ControlMask|Mod1Mask,"\033[1;8A", 0, 0}, - { XK_Up, XK_ANY_MOD, "\033[A", 0, -1}, - { XK_Up, XK_ANY_MOD, "\033OA", 0, +1}, - { XK_Down, ShiftMask, "\033[1;2B", 0, 0}, - { XK_Down, Mod1Mask, "\033[1;3B", 0, 0}, - { XK_Down, ShiftMask|Mod1Mask,"\033[1;4B", 0, 0}, - { XK_Down, ControlMask, "\033[1;5B", 0, 0}, - { XK_Down, ShiftMask|ControlMask,"\033[1;6B", 0, 0}, - { XK_Down, ControlMask|Mod1Mask,"\033[1;7B", 0, 0}, - { XK_Down,ShiftMask|ControlMask|Mod1Mask,"\033[1;8B",0, 0}, - { XK_Down, XK_ANY_MOD, "\033[B", 0, -1}, - { XK_Down, XK_ANY_MOD, "\033OB", 0, +1}, - { XK_Left, ShiftMask, "\033[1;2D", 0, 0}, - { XK_Left, Mod1Mask, "\033[1;3D", 0, 0}, - { XK_Left, ShiftMask|Mod1Mask,"\033[1;4D", 0, 0}, - { XK_Left, ControlMask, "\033[1;5D", 0, 0}, - { XK_Left, ShiftMask|ControlMask,"\033[1;6D", 0, 0}, - { XK_Left, ControlMask|Mod1Mask,"\033[1;7D", 0, 0}, - { XK_Left,ShiftMask|ControlMask|Mod1Mask,"\033[1;8D",0, 0}, - { XK_Left, XK_ANY_MOD, "\033[D", 0, -1}, - { XK_Left, XK_ANY_MOD, "\033OD", 0, +1}, - { XK_Right, ShiftMask, "\033[1;2C", 0, 0}, - { XK_Right, Mod1Mask, "\033[1;3C", 0, 0}, - { XK_Right, ShiftMask|Mod1Mask,"\033[1;4C", 0, 0}, - { XK_Right, ControlMask, "\033[1;5C", 0, 0}, - { XK_Right, ShiftMask|ControlMask,"\033[1;6C", 0, 0}, - { XK_Right, ControlMask|Mod1Mask,"\033[1;7C", 0, 0}, - { XK_Right,ShiftMask|ControlMask|Mod1Mask,"\033[1;8C",0, 0}, - { XK_Right, XK_ANY_MOD, "\033[C", 0, -1}, - { XK_Right, XK_ANY_MOD, "\033OC", 0, +1}, - { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0}, - { XK_Return, Mod1Mask, "\033\r", 0, 0}, - { XK_Return, XK_ANY_MOD, "\r", 0, 0}, - { XK_Insert, ShiftMask, "\033[4l", -1, 0}, - { XK_Insert, ShiftMask, "\033[2;2~", +1, 0}, - { XK_Insert, ControlMask, "\033[L", -1, 0}, - { XK_Insert, ControlMask, "\033[2;5~", +1, 0}, - { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, - { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, - { XK_Delete, ControlMask, "\033[M", -1, 0}, - { XK_Delete, ControlMask, "\033[3;5~", +1, 0}, - { XK_Delete, ShiftMask, "\033[2K", -1, 0}, - { XK_Delete, ShiftMask, "\033[3;2~", +1, 0}, - { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0}, - { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, - { XK_BackSpace, XK_NO_MOD, "\177", 0, 0}, - { XK_BackSpace, Mod1Mask, "\033\177", 0, 0}, - { XK_Home, ShiftMask, "\033[2J", 0, -1}, - { XK_Home, ShiftMask, "\033[1;2H", 0, +1}, - { XK_Home, XK_ANY_MOD, "\033[H", 0, -1}, - { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1}, - { XK_End, ControlMask, "\033[J", -1, 0}, - { XK_End, ControlMask, "\033[1;5F", +1, 0}, - { XK_End, ShiftMask, "\033[K", -1, 0}, - { XK_End, ShiftMask, "\033[1;2F", +1, 0}, - { XK_End, XK_ANY_MOD, "\033[4~", 0, 0}, - { XK_Prior, ControlMask, "\033[5;5~", 0, 0}, - { XK_Prior, ShiftMask, "\033[5;2~", 0, 0}, - { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, - { XK_Next, ControlMask, "\033[6;5~", 0, 0}, - { XK_Next, ShiftMask, "\033[6;2~", 0, 0}, - { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0}, - { XK_F1, XK_NO_MOD, "\033OP" , 0, 0}, - { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0}, - { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0}, - { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0}, - { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0}, - { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0}, - { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0}, - { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0}, - { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0}, - { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0}, - { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0}, - { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0}, - { XK_F3, XK_NO_MOD, "\033OR" , 0, 0}, - { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0}, - { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0}, - { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0}, - { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0}, - { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0}, - { XK_F4, XK_NO_MOD, "\033OS" , 0, 0}, - { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0}, - { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0}, - { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0}, - { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0}, - { XK_F5, XK_NO_MOD, "\033[15~", 0, 0}, - { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0}, - { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0}, - { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0}, - { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0}, - { XK_F6, XK_NO_MOD, "\033[17~", 0, 0}, - { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0}, - { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0}, - { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0}, - { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0}, - { XK_F7, XK_NO_MOD, "\033[18~", 0, 0}, - { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0}, - { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0}, - { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0}, - { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0}, - { XK_F8, XK_NO_MOD, "\033[19~", 0, 0}, - { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0}, - { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0}, - { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0}, - { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0}, - { XK_F9, XK_NO_MOD, "\033[20~", 0, 0}, - { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0}, - { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0}, - { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0}, - { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0}, - { XK_F10, XK_NO_MOD, "\033[21~", 0, 0}, - { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0}, - { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0}, - { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0}, - { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0}, - { XK_F11, XK_NO_MOD, "\033[23~", 0, 0}, - { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0}, - { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0}, - { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0}, - { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0}, - { XK_F12, XK_NO_MOD, "\033[24~", 0, 0}, - { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0}, - { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0}, - { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0}, - { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0}, - { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0}, - { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0}, - { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0}, - { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0}, - { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0}, - { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0}, - { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0}, - { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0}, - { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0}, - { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0}, - { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0}, - { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0}, - { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0}, - { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0}, - { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0}, - { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0}, - { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0}, - { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0}, - { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0}, - { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0}, - { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0}, - { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0}, - { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0}, -}; - -/* - * Selection types' masks. - * Use the same masks as usual. - * Button1Mask is always unset, to make masks match between ButtonPress. - * ButtonRelease and MotionNotify. - * If no match is found, regular selection is used. - */ -static uint selmasks[] = { - [SEL_RECTANGULAR] = Mod1Mask, -}; - -/* - * Printable characters in ASCII, used to estimate the advance width - * of single wide characters. - */ -static char ascii_printable[] = - " !\"#$%&'()*+,-./0123456789:;<=>?" - "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" - "`abcdefghijklmnopqrstuvwxyz{|}~"; diff --git a/.ccls-cache/@home@spy@Development@st/config.h.blob b/.ccls-cache/@home@spy@Development@st/config.h.blob deleted file mode 100644 index 4f30935..0000000 Binary files a/.ccls-cache/@home@spy@Development@st/config.h.blob and /dev/null differ diff --git a/.ccls-cache/@home@spy@Development@st/st.c b/.ccls-cache/@home@spy@Development@st/st.c deleted file mode 100644 index 8cb5622..0000000 --- a/.ccls-cache/@home@spy@Development@st/st.c +++ /dev/null @@ -1,2765 +0,0 @@ -/* See LICENSE for license details. */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "st.h" -#include "win.h" - -#if defined(__linux) - #include -#elif defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__) - #include -#elif defined(__FreeBSD__) || defined(__DragonFly__) - #include -#endif - -/* Arbitrary sizes */ -#define UTF_INVALID 0xFFFD -#define UTF_SIZ 4 -#define ESC_BUF_SIZ (128*UTF_SIZ) -#define ESC_ARG_SIZ 16 -#define STR_BUF_SIZ ESC_BUF_SIZ -#define STR_ARG_SIZ ESC_ARG_SIZ -#define HISTSIZE 2000 - -/* macros */ -#define IS_SET(flag) ((term.mode & (flag)) != 0) -#define ISCONTROLC0(c) (BETWEEN(c, 0, 0x1f) || (c) == 0x7f) -#define ISCONTROLC1(c) (BETWEEN(c, 0x80, 0x9f)) -#define ISCONTROL(c) (ISCONTROLC0(c) || ISCONTROLC1(c)) -#define ISDELIM(u) (u && wcschr(worddelimiters, u)) -#define TLINE(y) ((y) < term.scr ? term.hist[((y) + term.histi - \ - term.scr + HISTSIZE + 1) % HISTSIZE] : \ - term.line[(y) - term.scr]) - -enum term_mode { - MODE_WRAP = 1 << 0, - MODE_INSERT = 1 << 1, - MODE_ALTSCREEN = 1 << 2, - MODE_CRLF = 1 << 3, - MODE_ECHO = 1 << 4, - MODE_PRINT = 1 << 5, - MODE_UTF8 = 1 << 6, -}; - -enum cursor_movement { - CURSOR_SAVE, - CURSOR_LOAD -}; - -enum cursor_state { - CURSOR_DEFAULT = 0, - CURSOR_WRAPNEXT = 1, - CURSOR_ORIGIN = 2 -}; - -enum charset { - CS_GRAPHIC0, - CS_GRAPHIC1, - CS_UK, - CS_USA, - CS_MULTI, - CS_GER, - CS_FIN -}; - -enum escape_state { - ESC_START = 1, - ESC_CSI = 2, - ESC_STR = 4, /* DCS, OSC, PM, APC */ - ESC_ALTCHARSET = 8, - ESC_STR_END = 16, /* a final string was encountered */ - ESC_TEST = 32, /* Enter in test mode */ - ESC_UTF8 = 64, -}; - -typedef struct { - Glyph attr; /* current char attributes */ - int x; - int y; - char state; -} TCursor; - -typedef struct { - int mode; - int type; - int snap; - /* - * Selection variables: - * nb – normalized coordinates of the beginning of the selection - * ne – normalized coordinates of the end of the selection - * ob – original coordinates of the beginning of the selection - * oe – original coordinates of the end of the selection - */ - struct { - int x, y; - } nb, ne, ob, oe; - - int alt; -} Selection; - -/* Internal representation of the screen */ -typedef struct { - int row; /* nb row */ - int col; /* nb col */ - Line *line; /* screen */ - Line *alt; /* alternate screen */ - Line hist[HISTSIZE]; /* history buffer */ - int histi; /* history index */ - int scr; /* scroll back */ - int *dirty; /* dirtyness of lines */ - TCursor c; /* cursor */ - int ocx; /* old cursor col */ - int ocy; /* old cursor row */ - int top; /* top scroll limit */ - int bot; /* bottom scroll limit */ - int mode; /* terminal mode flags */ - int esc; /* escape state flags */ - char trantbl[4]; /* charset table translation */ - int charset; /* current charset */ - int icharset; /* selected charset for sequence */ - int *tabs; - Rune lastc; /* last printed char outside of sequence, 0 if control */ -} Term; - -/* CSI Escape sequence structs */ -/* ESC '[' [[ [] [;]] []] */ -typedef struct { - char buf[ESC_BUF_SIZ]; /* raw string */ - size_t len; /* raw string length */ - char priv; - int arg[ESC_ARG_SIZ]; - int narg; /* nb of args */ - char mode[2]; -} CSIEscape; - -/* STR Escape sequence structs */ -/* ESC type [[ [] [;]] ] ESC '\' */ -typedef struct { - char type; /* ESC type ... */ - char *buf; /* allocated raw string */ - size_t siz; /* allocation size */ - size_t len; /* raw string length */ - char *args[STR_ARG_SIZ]; - int narg; /* nb of args */ -} STREscape; - -static void execsh(char *, char **); -static void stty(char **); -static void sigchld(int); -static void ttywriteraw(const char *, size_t); - -static void csidump(void); -static void csihandle(void); -static void csiparse(void); -static void csireset(void); -static int eschandle(uchar); -static void strdump(void); -static void strhandle(void); -static void strparse(void); -static void strreset(void); - -static void tprinter(char *, size_t); -static void tdumpsel(void); -static void tdumpline(int); -static void tdump(void); -static void tclearregion(int, int, int, int); -static void tcursor(int); -static void tdeletechar(int); -static void tdeleteline(int); -static void tinsertblank(int); -static void tinsertblankline(int); -static int tlinelen(int); -static void tmoveto(int, int); -static void tmoveato(int, int); -static void tnewline(int); -static void tputtab(int); -static void tputc(Rune); -static void treset(void); -static void tscrollup(int, int, int); -static void tscrolldown(int, int, int); -static void tsetattr(const int *, int); -static void tsetchar(Rune, const Glyph *, int, int); -static void tsetdirt(int, int); -static void tsetscroll(int, int); -static void tswapscreen(void); -static void tsetmode(int, int, const int *, int); -static int twrite(const char *, int, int); -static void tfulldirt(void); -static void tcontrolcode(uchar ); -static void tdectest(char ); -static void tdefutf8(char); -static int32_t tdefcolor(const int *, int *, int); -static void tdeftran(char); -static void tstrsequence(uchar); - -static void drawregion(int, int, int, int); - -static void selnormalize(void); -static void selscroll(int, int); -static void selsnap(int *, int *, int); - -static size_t utf8decode(const char *, Rune *, size_t); -static Rune utf8decodebyte(char, size_t *); -static char utf8encodebyte(Rune, size_t); -static size_t utf8validate(Rune *, size_t); - -static char *base64dec(const char *); -static char base64dec_getc(const char **); - -static ssize_t xwrite(int, const char *, size_t); - -/* Globals */ -static Term term; -static Selection sel; -static CSIEscape csiescseq; -static STREscape strescseq; -static int iofd = 1; -static int cmdfd; -static pid_t pid; - -static const uchar utfbyte[UTF_SIZ + 1] = {0x80, 0, 0xC0, 0xE0, 0xF0}; -static const uchar utfmask[UTF_SIZ + 1] = {0xC0, 0x80, 0xE0, 0xF0, 0xF8}; -static const Rune utfmin[UTF_SIZ + 1] = { 0, 0, 0x80, 0x800, 0x10000}; -static const Rune utfmax[UTF_SIZ + 1] = {0x10FFFF, 0x7F, 0x7FF, 0xFFFF, 0x10FFFF}; - -ssize_t -xwrite(int fd, const char *s, size_t len) -{ - size_t aux = len; - ssize_t r; - - while (len > 0) { - r = write(fd, s, len); - if (r < 0) - return r; - len -= r; - s += r; - } - - return aux; -} - -void * -xmalloc(size_t len) -{ - void *p; - - if (!(p = malloc(len))) - die("malloc: %s\n", strerror(errno)); - - return p; -} - -void * -xrealloc(void *p, size_t len) -{ - if ((p = realloc(p, len)) == NULL) - die("realloc: %s\n", strerror(errno)); - - return p; -} - -char * -xstrdup(const char *s) -{ - char *p; - - if ((p = strdup(s)) == NULL) - die("strdup: %s\n", strerror(errno)); - - return p; -} - -size_t -utf8decode(const char *c, Rune *u, size_t clen) -{ - size_t i, j, len, type; - Rune udecoded; - - *u = UTF_INVALID; - if (!clen) - return 0; - udecoded = utf8decodebyte(c[0], &len); - if (!BETWEEN(len, 1, UTF_SIZ)) - return 1; - for (i = 1, j = 1; i < clen && j < len; ++i, ++j) { - udecoded = (udecoded << 6) | utf8decodebyte(c[i], &type); - if (type != 0) - return j; - } - if (j < len) - return 0; - *u = udecoded; - utf8validate(u, len); - - return len; -} - -Rune -utf8decodebyte(char c, size_t *i) -{ - for (*i = 0; *i < LEN(utfmask); ++(*i)) - if (((uchar)c & utfmask[*i]) == utfbyte[*i]) - return (uchar)c & ~utfmask[*i]; - - return 0; -} - -size_t -utf8encode(Rune u, char *c) -{ - size_t len, i; - - len = utf8validate(&u, 0); - if (len > UTF_SIZ) - return 0; - - for (i = len - 1; i != 0; --i) { - c[i] = utf8encodebyte(u, 0); - u >>= 6; - } - c[0] = utf8encodebyte(u, len); - - return len; -} - -char -utf8encodebyte(Rune u, size_t i) -{ - return utfbyte[i] | (u & ~utfmask[i]); -} - -size_t -utf8validate(Rune *u, size_t i) -{ - if (!BETWEEN(*u, utfmin[i], utfmax[i]) || BETWEEN(*u, 0xD800, 0xDFFF)) - *u = UTF_INVALID; - for (i = 1; *u > utfmax[i]; ++i) - ; - - return i; -} - -static const char base64_digits[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, - 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, -1, 0, 0, 0, 0, 1, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -char -base64dec_getc(const char **src) -{ - while (**src && !isprint(**src)) - (*src)++; - return **src ? *((*src)++) : '='; /* emulate padding if string ends */ -} - -char * -base64dec(const char *src) -{ - size_t in_len = strlen(src); - char *result, *dst; - - if (in_len % 4) - in_len += 4 - (in_len % 4); - result = dst = xmalloc(in_len / 4 * 3 + 1); - while (*src) { - int a = base64_digits[(unsigned char) base64dec_getc(&src)]; - int b = base64_digits[(unsigned char) base64dec_getc(&src)]; - int c = base64_digits[(unsigned char) base64dec_getc(&src)]; - int d = base64_digits[(unsigned char) base64dec_getc(&src)]; - - /* invalid input. 'a' can be -1, e.g. if src is "\n" (c-str) */ - if (a == -1 || b == -1) - break; - - *dst++ = (a << 2) | ((b & 0x30) >> 4); - if (c == -1) - break; - *dst++ = ((b & 0x0f) << 4) | ((c & 0x3c) >> 2); - if (d == -1) - break; - *dst++ = ((c & 0x03) << 6) | d; - } - *dst = '\0'; - return result; -} - -void -selinit(void) -{ - sel.mode = SEL_IDLE; - sel.snap = 0; - sel.ob.x = -1; -} - -int -tlinelen(int y) -{ - int i = term.col; - - if (TLINE(y)[i - 1].mode & ATTR_WRAP) - return i; - - while (i > 0 && TLINE(y)[i - 1].u == ' ') - --i; - - return i; -} - -void -selstart(int col, int row, int snap) -{ - selclear(); - sel.mode = SEL_EMPTY; - sel.type = SEL_REGULAR; - sel.alt = IS_SET(MODE_ALTSCREEN); - sel.snap = snap; - sel.oe.x = sel.ob.x = col; - sel.oe.y = sel.ob.y = row; - selnormalize(); - - if (sel.snap != 0) - sel.mode = SEL_READY; - tsetdirt(sel.nb.y, sel.ne.y); -} - -void -selextend(int col, int row, int type, int done) -{ - int oldey, oldex, oldsby, oldsey, oldtype; - - if (sel.mode == SEL_IDLE) - return; - if (done && sel.mode == SEL_EMPTY) { - selclear(); - return; - } - - oldey = sel.oe.y; - oldex = sel.oe.x; - oldsby = sel.nb.y; - oldsey = sel.ne.y; - oldtype = sel.type; - - sel.oe.x = col; - sel.oe.y = row; - selnormalize(); - sel.type = type; - - if (oldey != sel.oe.y || oldex != sel.oe.x || oldtype != sel.type || sel.mode == SEL_EMPTY) - tsetdirt(MIN(sel.nb.y, oldsby), MAX(sel.ne.y, oldsey)); - - sel.mode = done ? SEL_IDLE : SEL_READY; -} - -void -selnormalize(void) -{ - int i; - - if (sel.type == SEL_REGULAR && sel.ob.y != sel.oe.y) { - sel.nb.x = sel.ob.y < sel.oe.y ? sel.ob.x : sel.oe.x; - sel.ne.x = sel.ob.y < sel.oe.y ? sel.oe.x : sel.ob.x; - } else { - sel.nb.x = MIN(sel.ob.x, sel.oe.x); - sel.ne.x = MAX(sel.ob.x, sel.oe.x); - } - sel.nb.y = MIN(sel.ob.y, sel.oe.y); - sel.ne.y = MAX(sel.ob.y, sel.oe.y); - - selsnap(&sel.nb.x, &sel.nb.y, -1); - selsnap(&sel.ne.x, &sel.ne.y, +1); - - /* expand selection over line breaks */ - if (sel.type == SEL_RECTANGULAR) - return; - i = tlinelen(sel.nb.y); - if (i < sel.nb.x) - sel.nb.x = i; - if (tlinelen(sel.ne.y) <= sel.ne.x) - sel.ne.x = term.col - 1; -} - -int -selected(int x, int y) -{ - if (sel.mode == SEL_EMPTY || sel.ob.x == -1 || - sel.alt != IS_SET(MODE_ALTSCREEN)) - return 0; - - if (sel.type == SEL_RECTANGULAR) - return BETWEEN(y, sel.nb.y, sel.ne.y) - && BETWEEN(x, sel.nb.x, sel.ne.x); - - return BETWEEN(y, sel.nb.y, sel.ne.y) - && (y != sel.nb.y || x >= sel.nb.x) - && (y != sel.ne.y || x <= sel.ne.x); -} - -void -selsnap(int *x, int *y, int direction) -{ - int newx, newy, xt, yt; - int delim, prevdelim; - const Glyph *gp, *prevgp; - - switch (sel.snap) { - case SNAP_WORD: - /* - * Snap around if the word wraps around at the end or - * beginning of a line. - */ - prevgp = &TLINE(*y)[*x]; - prevdelim = ISDELIM(prevgp->u); - for (;;) { - newx = *x + direction; - newy = *y; - if (!BETWEEN(newx, 0, term.col - 1)) { - newy += direction; - newx = (newx + term.col) % term.col; - if (!BETWEEN(newy, 0, term.row - 1)) - break; - - if (direction > 0) - yt = *y, xt = *x; - else - yt = newy, xt = newx; - if (!(TLINE(yt)[xt].mode & ATTR_WRAP)) - break; - } - - if (newx >= tlinelen(newy)) - break; - - gp = &TLINE(newy)[newx]; - delim = ISDELIM(gp->u); - if (!(gp->mode & ATTR_WDUMMY) && (delim != prevdelim - || (delim && gp->u != prevgp->u))) - break; - - *x = newx; - *y = newy; - prevgp = gp; - prevdelim = delim; - } - break; - case SNAP_LINE: - /* - * Snap around if the the previous line or the current one - * has set ATTR_WRAP at its end. Then the whole next or - * previous line will be selected. - */ - *x = (direction < 0) ? 0 : term.col - 1; - if (direction < 0) { - for (; *y > 0; *y += direction) { - if (!(TLINE(*y-1)[term.col-1].mode - & ATTR_WRAP)) { - break; - } - } - } else if (direction > 0) { - for (; *y < term.row-1; *y += direction) { - if (!(TLINE(*y)[term.col-1].mode - & ATTR_WRAP)) { - break; - } - } - } - break; - } -} - -char * -getsel(void) -{ - char *str, *ptr; - int y, bufsize, lastx, linelen; - const Glyph *gp, *last; - - if (sel.ob.x == -1) - return NULL; - - bufsize = (term.col+1) * (sel.ne.y-sel.nb.y+1) * UTF_SIZ; - ptr = str = xmalloc(bufsize); - - /* append every set & selected glyph to the selection */ - for (y = sel.nb.y; y <= sel.ne.y; y++) { - if ((linelen = tlinelen(y)) == 0) { - *ptr++ = '\n'; - continue; - } - - if (sel.type == SEL_RECTANGULAR) { - gp = &TLINE(y)[sel.nb.x]; - lastx = sel.ne.x; - } else { - gp = &TLINE(y)[sel.nb.y == y ? sel.nb.x : 0]; - lastx = (sel.ne.y == y) ? sel.ne.x : term.col-1; - } - last = &TLINE(y)[MIN(lastx, linelen-1)]; - while (last >= gp && last->u == ' ') - --last; - - for ( ; gp <= last; ++gp) { - if (gp->mode & ATTR_WDUMMY) - continue; - - ptr += utf8encode(gp->u, ptr); - } - - /* - * Copy and pasting of line endings is inconsistent - * in the inconsistent terminal and GUI world. - * The best solution seems like to produce '\n' when - * something is copied from st and convert '\n' to - * '\r', when something to be pasted is received by - * st. - * FIXME: Fix the computer world. - */ - if ((y < sel.ne.y || lastx >= linelen) && - (!(last->mode & ATTR_WRAP) || sel.type == SEL_RECTANGULAR)) - *ptr++ = '\n'; - } - *ptr = 0; - return str; -} - -void -selclear(void) -{ - if (sel.ob.x == -1) - return; - sel.mode = SEL_IDLE; - sel.ob.x = -1; - tsetdirt(sel.nb.y, sel.ne.y); -} - -void -die(const char *errstr, ...) -{ - va_list ap; - - va_start(ap, errstr); - vfprintf(stderr, errstr, ap); - va_end(ap); - exit(1); -} - -void -execsh(char *cmd, char **args) -{ - char *sh, *prog, *arg; - const struct passwd *pw; - - errno = 0; - if ((pw = getpwuid(getuid())) == NULL) { - if (errno) - die("getpwuid: %s\n", strerror(errno)); - else - die("who are you?\n"); - } - - if ((sh = getenv("SHELL")) == NULL) - sh = (pw->pw_shell[0]) ? pw->pw_shell : cmd; - - if (args) { - prog = args[0]; - arg = NULL; - } else if (scroll) { - prog = scroll; - arg = utmp ? utmp : sh; - } else if (utmp) { - prog = utmp; - arg = NULL; - } else { - prog = sh; - arg = NULL; - } - DEFAULT(args, ((char *[]) {prog, arg, NULL})); - - unsetenv("COLUMNS"); - unsetenv("LINES"); - unsetenv("TERMCAP"); - setenv("LOGNAME", pw->pw_name, 1); - setenv("USER", pw->pw_name, 1); - setenv("SHELL", sh, 1); - setenv("HOME", pw->pw_dir, 1); - setenv("TERM", termname, 1); - - signal(SIGCHLD, SIG_DFL); - signal(SIGHUP, SIG_DFL); - signal(SIGINT, SIG_DFL); - signal(SIGQUIT, SIG_DFL); - signal(SIGTERM, SIG_DFL); - signal(SIGALRM, SIG_DFL); - - execvp(prog, args); - _exit(1); -} - -void -sigchld(int a) -{ - int stat; - pid_t p; - - if ((p = waitpid(pid, &stat, WNOHANG)) < 0) - die("waiting for pid %hd failed: %s\n", pid, strerror(errno)); - - if (pid != p) - return; - - if (WIFEXITED(stat) && WEXITSTATUS(stat)) - die("child exited with status %d\n", WEXITSTATUS(stat)); - else if (WIFSIGNALED(stat)) - die("child terminated due to signal %d\n", WTERMSIG(stat)); - _exit(0); -} - -void -stty(char **args) -{ - char cmd[_POSIX_ARG_MAX], **p, *q, *s; - size_t n, siz; - - if ((n = strlen(stty_args)) > sizeof(cmd)-1) - die("incorrect stty parameters\n"); - memcpy(cmd, stty_args, n); - q = cmd + n; - siz = sizeof(cmd) - n; - for (p = args; p && (s = *p); ++p) { - if ((n = strlen(s)) > siz-1) - die("stty parameter length too long\n"); - *q++ = ' '; - memcpy(q, s, n); - q += n; - siz -= n + 1; - } - *q = '\0'; - if (system(cmd) != 0) - perror("Couldn't call stty"); -} - -int -ttynew(const char *line, char *cmd, const char *out, char **args) -{ - int m, s; - - if (out) { - term.mode |= MODE_PRINT; - iofd = (!strcmp(out, "-")) ? - 1 : open(out, O_WRONLY | O_CREAT, 0666); - if (iofd < 0) { - fprintf(stderr, "Error opening %s:%s\n", - out, strerror(errno)); - } - } - - if (line) { - if ((cmdfd = open(line, O_RDWR)) < 0) - die("open line '%s' failed: %s\n", - line, strerror(errno)); - dup2(cmdfd, 0); - stty(args); - return cmdfd; - } - - /* seems to work fine on linux, openbsd and freebsd */ - if (openpty(&m, &s, NULL, NULL, NULL) < 0) - die("openpty failed: %s\n", strerror(errno)); - - switch (pid = fork()) { - case -1: - die("fork failed: %s\n", strerror(errno)); - break; - case 0: - close(iofd); - close(m); - setsid(); /* create a new process group */ - dup2(s, 0); - dup2(s, 1); - dup2(s, 2); - if (ioctl(s, TIOCSCTTY, NULL) < 0) - die("ioctl TIOCSCTTY failed: %s\n", strerror(errno)); - if (s > 2) - close(s); -#ifdef __OpenBSD__ - if (pledge("stdio getpw proc exec", NULL) == -1) - die("pledge\n"); -#endif - execsh(cmd, args); - break; - default: -#ifdef __OpenBSD__ - if (pledge("stdio rpath tty proc", NULL) == -1) - die("pledge\n"); -#endif - close(s); - cmdfd = m; - signal(SIGCHLD, sigchld); - break; - } - return cmdfd; -} - -size_t -ttyread(void) -{ - static char buf[BUFSIZ]; - static int buflen = 0; - int ret, written; - - /* append read bytes to unprocessed bytes */ - ret = read(cmdfd, buf+buflen, LEN(buf)-buflen); - - switch (ret) { - case 0: - exit(0); - case -1: - die("couldn't read from shell: %s\n", strerror(errno)); - default: - buflen += ret; - written = twrite(buf, buflen, 0); - buflen -= written; - /* keep any incomplete UTF-8 byte sequence for the next call */ - if (buflen > 0) - memmove(buf, buf + written, buflen); - return ret; - } -} - -void -ttywrite(const char *s, size_t n, int may_echo) -{ - const char *next; - Arg arg = (Arg) { .i = term.scr }; - - kscrolldown(&arg); - - if (may_echo && IS_SET(MODE_ECHO)) - twrite(s, n, 1); - - if (!IS_SET(MODE_CRLF)) { - ttywriteraw(s, n); - return; - } - - /* This is similar to how the kernel handles ONLCR for ttys */ - while (n > 0) { - if (*s == '\r') { - next = s + 1; - ttywriteraw("\r\n", 2); - } else { - next = memchr(s, '\r', n); - DEFAULT(next, s + n); - ttywriteraw(s, next - s); - } - n -= next - s; - s = next; - } -} - -void -ttywriteraw(const char *s, size_t n) -{ - fd_set wfd, rfd; - ssize_t r; - size_t lim = 256; - - /* - * Remember that we are using a pty, which might be a modem line. - * Writing too much will clog the line. That's why we are doing this - * dance. - * FIXME: Migrate the world to Plan 9. - */ - while (n > 0) { - FD_ZERO(&wfd); - FD_ZERO(&rfd); - FD_SET(cmdfd, &wfd); - FD_SET(cmdfd, &rfd); - - /* Check if we can write. */ - if (pselect(cmdfd+1, &rfd, &wfd, NULL, NULL, NULL) < 0) { - if (errno == EINTR) - continue; - die("select failed: %s\n", strerror(errno)); - } - if (FD_ISSET(cmdfd, &wfd)) { - /* - * Only write the bytes written by ttywrite() or the - * default of 256. This seems to be a reasonable value - * for a serial line. Bigger values might clog the I/O. - */ - if ((r = write(cmdfd, s, (n < lim)? n : lim)) < 0) - goto write_error; - if (r < n) { - /* - * We weren't able to write out everything. - * This means the buffer is getting full - * again. Empty it. - */ - if (n < lim) - lim = ttyread(); - n -= r; - s += r; - } else { - /* All bytes have been written. */ - break; - } - } - if (FD_ISSET(cmdfd, &rfd)) - lim = ttyread(); - } - return; - -write_error: - die("write error on tty: %s\n", strerror(errno)); -} - -void -ttyresize(int tw, int th) -{ - struct winsize w; - - w.ws_row = term.row; - w.ws_col = term.col; - w.ws_xpixel = tw; - w.ws_ypixel = th; - if (ioctl(cmdfd, TIOCSWINSZ, &w) < 0) - fprintf(stderr, "Couldn't set window size: %s\n", strerror(errno)); -} - -void -ttyhangup() -{ - /* Send SIGHUP to shell */ - kill(pid, SIGHUP); -} - -int -tattrset(int attr) -{ - int i, j; - - for (i = 0; i < term.row-1; i++) { - for (j = 0; j < term.col-1; j++) { - if (term.line[i][j].mode & attr) - return 1; - } - } - - return 0; -} - -void -tsetdirt(int top, int bot) -{ - int i; - - LIMIT(top, 0, term.row-1); - LIMIT(bot, 0, term.row-1); - - for (i = top; i <= bot; i++) - term.dirty[i] = 1; -} - -void -tsetdirtattr(int attr) -{ - int i, j; - - for (i = 0; i < term.row-1; i++) { - for (j = 0; j < term.col-1; j++) { - if (term.line[i][j].mode & attr) { - tsetdirt(i, i); - break; - } - } - } -} - -void -tfulldirt(void) -{ - tsetdirt(0, term.row-1); -} - -void -tcursor(int mode) -{ - static TCursor c[2]; - int alt = IS_SET(MODE_ALTSCREEN); - - if (mode == CURSOR_SAVE) { - c[alt] = term.c; - } else if (mode == CURSOR_LOAD) { - term.c = c[alt]; - tmoveto(c[alt].x, c[alt].y); - } -} - -void -treset(void) -{ - uint i; - - term.c = (TCursor){{ - .mode = ATTR_NULL, - .fg = defaultfg, - .bg = defaultbg - }, .x = 0, .y = 0, .state = CURSOR_DEFAULT}; - - memset(term.tabs, 0, term.col * sizeof(*term.tabs)); - for (i = tabspaces; i < term.col; i += tabspaces) - term.tabs[i] = 1; - term.top = 0; - term.bot = term.row - 1; - term.mode = MODE_WRAP|MODE_UTF8; - memset(term.trantbl, CS_USA, sizeof(term.trantbl)); - term.charset = 0; - - for (i = 0; i < 2; i++) { - tmoveto(0, 0); - tcursor(CURSOR_SAVE); - tclearregion(0, 0, term.col-1, term.row-1); - tswapscreen(); - } -} - -void -tnew(int col, int row) -{ - term = (Term){ .c = { .attr = { .fg = defaultfg, .bg = defaultbg } } }; - tresize(col, row); - treset(); -} - -void -tswapscreen(void) -{ - Line *tmp = term.line; - - term.line = term.alt; - term.alt = tmp; - term.mode ^= MODE_ALTSCREEN; - tfulldirt(); -} - -void -kscrolldown(const Arg* a) -{ - int n = a->i; - - if (n < 0) - n = term.row + n; - - if (n > term.scr) - n = term.scr; - - if (term.scr > 0) { - term.scr -= n; - selscroll(0, -n); - tfulldirt(); - } -} - -void -kscrollup(const Arg* a) -{ - int n = a->i; - - if (n < 0) - n = term.row + n; - - if (term.scr <= HISTSIZE-n) { - term.scr += n; - selscroll(0, n); - tfulldirt(); - } -} - -void -tscrolldown(int orig, int n, int copyhist) -{ - int i; - Line temp; - - LIMIT(n, 0, term.bot-orig+1); - - if (copyhist) { - term.histi = (term.histi - 1 + HISTSIZE) % HISTSIZE; - temp = term.hist[term.histi]; - term.hist[term.histi] = term.line[term.bot]; - term.line[term.bot] = temp; - } - - tsetdirt(orig, term.bot-n); - tclearregion(0, term.bot-n+1, term.col-1, term.bot); - - for (i = term.bot; i >= orig+n; i--) { - temp = term.line[i]; - term.line[i] = term.line[i-n]; - term.line[i-n] = temp; - } - - if (term.scr == 0) - selscroll(orig, n); -} - -void -tscrollup(int orig, int n, int copyhist) -{ - int i; - Line temp; - - LIMIT(n, 0, term.bot-orig+1); - - if (copyhist) { - term.histi = (term.histi + 1) % HISTSIZE; - temp = term.hist[term.histi]; - term.hist[term.histi] = term.line[orig]; - term.line[orig] = temp; - } - - if (term.scr > 0 && term.scr < HISTSIZE) - term.scr = MIN(term.scr + n, HISTSIZE-1); - - tclearregion(0, orig, term.col-1, orig+n-1); - tsetdirt(orig+n, term.bot); - - for (i = orig; i <= term.bot-n; i++) { - temp = term.line[i]; - term.line[i] = term.line[i+n]; - term.line[i+n] = temp; - } - - if (term.scr == 0) - selscroll(orig, -n); -} - -void -selscroll(int orig, int n) -{ - if (sel.ob.x == -1) - return; - - if (BETWEEN(sel.nb.y, orig, term.bot) != BETWEEN(sel.ne.y, orig, term.bot)) { - selclear(); - } else if (BETWEEN(sel.nb.y, orig, term.bot)) { - sel.ob.y += n; - sel.oe.y += n; - if (sel.ob.y < term.top || sel.ob.y > term.bot || - sel.oe.y < term.top || sel.oe.y > term.bot) { - selclear(); - } else { - selnormalize(); - } - } -} - -void -tnewline(int first_col) -{ - int y = term.c.y; - - if (y == term.bot) { - tscrollup(term.top, 1, 1); - } else { - y++; - } - tmoveto(first_col ? 0 : term.c.x, y); -} - -void -csiparse(void) -{ - char *p = csiescseq.buf, *np; - long int v; - - csiescseq.narg = 0; - if (*p == '?') { - csiescseq.priv = 1; - p++; - } - - csiescseq.buf[csiescseq.len] = '\0'; - while (p < csiescseq.buf+csiescseq.len) { - np = NULL; - v = strtol(p, &np, 10); - if (np == p) - v = 0; - if (v == LONG_MAX || v == LONG_MIN) - v = -1; - csiescseq.arg[csiescseq.narg++] = v; - p = np; - if (*p != ';' || csiescseq.narg == ESC_ARG_SIZ) - break; - p++; - } - csiescseq.mode[0] = *p++; - csiescseq.mode[1] = (p < csiescseq.buf+csiescseq.len) ? *p : '\0'; -} - -/* for absolute user moves, when decom is set */ -void -tmoveato(int x, int y) -{ - tmoveto(x, y + ((term.c.state & CURSOR_ORIGIN) ? term.top: 0)); -} - -void -tmoveto(int x, int y) -{ - int miny, maxy; - - if (term.c.state & CURSOR_ORIGIN) { - miny = term.top; - maxy = term.bot; - } else { - miny = 0; - maxy = term.row - 1; - } - term.c.state &= ~CURSOR_WRAPNEXT; - term.c.x = LIMIT(x, 0, term.col-1); - term.c.y = LIMIT(y, miny, maxy); -} - -void -tsetchar(Rune u, const Glyph *attr, int x, int y) -{ - static const char *vt100_0[62] = { /* 0x41 - 0x7e */ - "↑", "↓", "→", "←", "█", "▚", "☃", /* A - G */ - 0, 0, 0, 0, 0, 0, 0, 0, /* H - O */ - 0, 0, 0, 0, 0, 0, 0, 0, /* P - W */ - 0, 0, 0, 0, 0, 0, 0, " ", /* X - _ */ - "◆", "▒", "␉", "␌", "␍", "␊", "°", "±", /* ` - g */ - "␤", "␋", "┘", "┐", "┌", "└", "┼", "⎺", /* h - o */ - "⎻", "─", "⎼", "⎽", "├", "┤", "┴", "┬", /* p - w */ - "│", "≤", "≥", "π", "≠", "£", "·", /* x - ~ */ - }; - - /* - * The table is proudly stolen from rxvt. - */ - if (term.trantbl[term.charset] == CS_GRAPHIC0 && - BETWEEN(u, 0x41, 0x7e) && vt100_0[u - 0x41]) - utf8decode(vt100_0[u - 0x41], &u, UTF_SIZ); - - if (term.line[y][x].mode & ATTR_WIDE) { - if (x+1 < term.col) { - term.line[y][x+1].u = ' '; - term.line[y][x+1].mode &= ~ATTR_WDUMMY; - } - } else if (term.line[y][x].mode & ATTR_WDUMMY) { - term.line[y][x-1].u = ' '; - term.line[y][x-1].mode &= ~ATTR_WIDE; - } - - term.dirty[y] = 1; - term.line[y][x] = *attr; - term.line[y][x].u = u; - - if (isboxdraw(u)) - term.line[y][x].mode |= ATTR_BOXDRAW; -} - -void -tclearregion(int x1, int y1, int x2, int y2) -{ - int x, y, temp; - Glyph *gp; - - if (x1 > x2) - temp = x1, x1 = x2, x2 = temp; - if (y1 > y2) - temp = y1, y1 = y2, y2 = temp; - - LIMIT(x1, 0, term.col-1); - LIMIT(x2, 0, term.col-1); - LIMIT(y1, 0, term.row-1); - LIMIT(y2, 0, term.row-1); - - for (y = y1; y <= y2; y++) { - term.dirty[y] = 1; - for (x = x1; x <= x2; x++) { - gp = &term.line[y][x]; - if (selected(x, y)) - selclear(); - gp->fg = term.c.attr.fg; - gp->bg = term.c.attr.bg; - gp->mode = 0; - gp->u = ' '; - } - } -} - -void -tdeletechar(int n) -{ - int dst, src, size; - Glyph *line; - - LIMIT(n, 0, term.col - term.c.x); - - dst = term.c.x; - src = term.c.x + n; - size = term.col - src; - line = term.line[term.c.y]; - - memmove(&line[dst], &line[src], size * sizeof(Glyph)); - tclearregion(term.col-n, term.c.y, term.col-1, term.c.y); -} - -void -tinsertblank(int n) -{ - int dst, src, size; - Glyph *line; - - LIMIT(n, 0, term.col - term.c.x); - - dst = term.c.x + n; - src = term.c.x; - size = term.col - dst; - line = term.line[term.c.y]; - - memmove(&line[dst], &line[src], size * sizeof(Glyph)); - tclearregion(src, term.c.y, dst - 1, term.c.y); -} - -void -tinsertblankline(int n) -{ - if (BETWEEN(term.c.y, term.top, term.bot)) - tscrolldown(term.c.y, n, 0); -} - -void -tdeleteline(int n) -{ - if (BETWEEN(term.c.y, term.top, term.bot)) - tscrollup(term.c.y, n, 0); -} - -int32_t -tdefcolor(const int *attr, int *npar, int l) -{ - int32_t idx = -1; - uint r, g, b; - - switch (attr[*npar + 1]) { - case 2: /* direct color in RGB space */ - if (*npar + 4 >= l) { - fprintf(stderr, - "erresc(38): Incorrect number of parameters (%d)\n", - *npar); - break; - } - r = attr[*npar + 2]; - g = attr[*npar + 3]; - b = attr[*npar + 4]; - *npar += 4; - if (!BETWEEN(r, 0, 255) || !BETWEEN(g, 0, 255) || !BETWEEN(b, 0, 255)) - fprintf(stderr, "erresc: bad rgb color (%u,%u,%u)\n", - r, g, b); - else - idx = TRUECOLOR(r, g, b); - break; - case 5: /* indexed color */ - if (*npar + 2 >= l) { - fprintf(stderr, - "erresc(38): Incorrect number of parameters (%d)\n", - *npar); - break; - } - *npar += 2; - if (!BETWEEN(attr[*npar], 0, 255)) - fprintf(stderr, "erresc: bad fgcolor %d\n", attr[*npar]); - else - idx = attr[*npar]; - break; - case 0: /* implemented defined (only foreground) */ - case 1: /* transparent */ - case 3: /* direct color in CMY space */ - case 4: /* direct color in CMYK space */ - default: - fprintf(stderr, - "erresc(38): gfx attr %d unknown\n", attr[*npar]); - break; - } - - return idx; -} - -void -tsetattr(const int *attr, int l) -{ - int i; - int32_t idx; - - for (i = 0; i < l; i++) { - switch (attr[i]) { - case 0: - term.c.attr.mode &= ~( - ATTR_BOLD | - ATTR_FAINT | - ATTR_ITALIC | - ATTR_UNDERLINE | - ATTR_BLINK | - ATTR_REVERSE | - ATTR_INVISIBLE | - ATTR_STRUCK ); - term.c.attr.fg = defaultfg; - term.c.attr.bg = defaultbg; - break; - case 1: - term.c.attr.mode |= ATTR_BOLD; - break; - case 2: - term.c.attr.mode |= ATTR_FAINT; - break; - case 3: - term.c.attr.mode |= ATTR_ITALIC; - break; - case 4: - term.c.attr.mode |= ATTR_UNDERLINE; - break; - case 5: /* slow blink */ - /* FALLTHROUGH */ - case 6: /* rapid blink */ - term.c.attr.mode |= ATTR_BLINK; - break; - case 7: - term.c.attr.mode |= ATTR_REVERSE; - break; - case 8: - term.c.attr.mode |= ATTR_INVISIBLE; - break; - case 9: - term.c.attr.mode |= ATTR_STRUCK; - break; - case 22: - term.c.attr.mode &= ~(ATTR_BOLD | ATTR_FAINT); - break; - case 23: - term.c.attr.mode &= ~ATTR_ITALIC; - break; - case 24: - term.c.attr.mode &= ~ATTR_UNDERLINE; - break; - case 25: - term.c.attr.mode &= ~ATTR_BLINK; - break; - case 27: - term.c.attr.mode &= ~ATTR_REVERSE; - break; - case 28: - term.c.attr.mode &= ~ATTR_INVISIBLE; - break; - case 29: - term.c.attr.mode &= ~ATTR_STRUCK; - break; - case 38: - if ((idx = tdefcolor(attr, &i, l)) >= 0) - term.c.attr.fg = idx; - break; - case 39: - term.c.attr.fg = defaultfg; - break; - case 48: - if ((idx = tdefcolor(attr, &i, l)) >= 0) - term.c.attr.bg = idx; - break; - case 49: - term.c.attr.bg = defaultbg; - break; - default: - if (BETWEEN(attr[i], 30, 37)) { - term.c.attr.fg = attr[i] - 30; - } else if (BETWEEN(attr[i], 40, 47)) { - term.c.attr.bg = attr[i] - 40; - } else if (BETWEEN(attr[i], 90, 97)) { - term.c.attr.fg = attr[i] - 90 + 8; - } else if (BETWEEN(attr[i], 100, 107)) { - term.c.attr.bg = attr[i] - 100 + 8; - } else { - fprintf(stderr, - "erresc(default): gfx attr %d unknown\n", - attr[i]); - csidump(); - } - break; - } - } -} - -void -tsetscroll(int t, int b) -{ - int temp; - - LIMIT(t, 0, term.row-1); - LIMIT(b, 0, term.row-1); - if (t > b) { - temp = t; - t = b; - b = temp; - } - term.top = t; - term.bot = b; -} - -void -tsetmode(int priv, int set, const int *args, int narg) -{ - int alt; const int *lim; - - for (lim = args + narg; args < lim; ++args) { - if (priv) { - switch (*args) { - case 1: /* DECCKM -- Cursor key */ - xsetmode(set, MODE_APPCURSOR); - break; - case 5: /* DECSCNM -- Reverse video */ - xsetmode(set, MODE_REVERSE); - break; - case 6: /* DECOM -- Origin */ - MODBIT(term.c.state, set, CURSOR_ORIGIN); - tmoveato(0, 0); - break; - case 7: /* DECAWM -- Auto wrap */ - MODBIT(term.mode, set, MODE_WRAP); - break; - case 0: /* Error (IGNORED) */ - case 2: /* DECANM -- ANSI/VT52 (IGNORED) */ - case 3: /* DECCOLM -- Column (IGNORED) */ - case 4: /* DECSCLM -- Scroll (IGNORED) */ - case 8: /* DECARM -- Auto repeat (IGNORED) */ - case 18: /* DECPFF -- Printer feed (IGNORED) */ - case 19: /* DECPEX -- Printer extent (IGNORED) */ - case 42: /* DECNRCM -- National characters (IGNORED) */ - case 12: /* att610 -- Start blinking cursor (IGNORED) */ - break; - case 25: /* DECTCEM -- Text Cursor Enable Mode */ - xsetmode(!set, MODE_HIDE); - break; - case 9: /* X10 mouse compatibility mode */ - xsetpointermotion(0); - xsetmode(0, MODE_MOUSE); - xsetmode(set, MODE_MOUSEX10); - break; - case 1000: /* 1000: report button press */ - xsetpointermotion(0); - xsetmode(0, MODE_MOUSE); - xsetmode(set, MODE_MOUSEBTN); - break; - case 1002: /* 1002: report motion on button press */ - xsetpointermotion(0); - xsetmode(0, MODE_MOUSE); - xsetmode(set, MODE_MOUSEMOTION); - break; - case 1003: /* 1003: enable all mouse motions */ - xsetpointermotion(set); - xsetmode(0, MODE_MOUSE); - xsetmode(set, MODE_MOUSEMANY); - break; - case 1004: /* 1004: send focus events to tty */ - xsetmode(set, MODE_FOCUS); - break; - case 1006: /* 1006: extended reporting mode */ - xsetmode(set, MODE_MOUSESGR); - break; - case 1034: - xsetmode(set, MODE_8BIT); - break; - case 1049: /* swap screen & set/restore cursor as xterm */ - if (!allowaltscreen) - break; - tcursor((set) ? CURSOR_SAVE : CURSOR_LOAD); - /* FALLTHROUGH */ - case 47: /* swap screen */ - case 1047: - if (!allowaltscreen) - break; - alt = IS_SET(MODE_ALTSCREEN); - if (alt) { - tclearregion(0, 0, term.col-1, - term.row-1); - } - if (set ^ alt) /* set is always 1 or 0 */ - tswapscreen(); - if (*args != 1049) - break; - /* FALLTHROUGH */ - case 1048: - tcursor((set) ? CURSOR_SAVE : CURSOR_LOAD); - break; - case 2004: /* 2004: bracketed paste mode */ - xsetmode(set, MODE_BRCKTPASTE); - break; - /* Not implemented mouse modes. See comments there. */ - case 1001: /* mouse highlight mode; can hang the - terminal by design when implemented. */ - case 1005: /* UTF-8 mouse mode; will confuse - applications not supporting UTF-8 - and luit. */ - case 1015: /* urxvt mangled mouse mode; incompatible - and can be mistaken for other control - codes. */ - break; - default: - fprintf(stderr, - "erresc: unknown private set/reset mode %d\n", - *args); - break; - } - } else { - switch (*args) { - case 0: /* Error (IGNORED) */ - break; - case 2: - xsetmode(set, MODE_KBDLOCK); - break; - case 4: /* IRM -- Insertion-replacement */ - MODBIT(term.mode, set, MODE_INSERT); - break; - case 12: /* SRM -- Send/Receive */ - MODBIT(term.mode, !set, MODE_ECHO); - break; - case 20: /* LNM -- Linefeed/new line */ - MODBIT(term.mode, set, MODE_CRLF); - break; - default: - fprintf(stderr, - "erresc: unknown set/reset mode %d\n", - *args); - break; - } - } - } -} - -void -csihandle(void) -{ - char buf[40]; - int len; - - switch (csiescseq.mode[0]) { - default: - unknown: - fprintf(stderr, "erresc: unknown csi "); - csidump(); - /* die(""); */ - break; - case '@': /* ICH -- Insert blank char */ - DEFAULT(csiescseq.arg[0], 1); - tinsertblank(csiescseq.arg[0]); - break; - case 'A': /* CUU -- Cursor Up */ - DEFAULT(csiescseq.arg[0], 1); - tmoveto(term.c.x, term.c.y-csiescseq.arg[0]); - break; - case 'B': /* CUD -- Cursor Down */ - case 'e': /* VPR --Cursor Down */ - DEFAULT(csiescseq.arg[0], 1); - tmoveto(term.c.x, term.c.y+csiescseq.arg[0]); - break; - case 'i': /* MC -- Media Copy */ - switch (csiescseq.arg[0]) { - case 0: - tdump(); - break; - case 1: - tdumpline(term.c.y); - break; - case 2: - tdumpsel(); - break; - case 4: - term.mode &= ~MODE_PRINT; - break; - case 5: - term.mode |= MODE_PRINT; - break; - } - break; - case 'c': /* DA -- Device Attributes */ - if (csiescseq.arg[0] == 0) - ttywrite(vtiden, strlen(vtiden), 0); - break; - case 'b': /* REP -- if last char is printable print it more times */ - DEFAULT(csiescseq.arg[0], 1); - if (term.lastc) - while (csiescseq.arg[0]-- > 0) - tputc(term.lastc); - break; - case 'C': /* CUF -- Cursor Forward */ - case 'a': /* HPR -- Cursor Forward */ - DEFAULT(csiescseq.arg[0], 1); - tmoveto(term.c.x+csiescseq.arg[0], term.c.y); - break; - case 'D': /* CUB -- Cursor Backward */ - DEFAULT(csiescseq.arg[0], 1); - tmoveto(term.c.x-csiescseq.arg[0], term.c.y); - break; - case 'E': /* CNL -- Cursor Down and first col */ - DEFAULT(csiescseq.arg[0], 1); - tmoveto(0, term.c.y+csiescseq.arg[0]); - break; - case 'F': /* CPL -- Cursor Up and first col */ - DEFAULT(csiescseq.arg[0], 1); - tmoveto(0, term.c.y-csiescseq.arg[0]); - break; - case 'g': /* TBC -- Tabulation clear */ - switch (csiescseq.arg[0]) { - case 0: /* clear current tab stop */ - term.tabs[term.c.x] = 0; - break; - case 3: /* clear all the tabs */ - memset(term.tabs, 0, term.col * sizeof(*term.tabs)); - break; - default: - goto unknown; - } - break; - case 'G': /* CHA -- Move to */ - case '`': /* HPA */ - DEFAULT(csiescseq.arg[0], 1); - tmoveto(csiescseq.arg[0]-1, term.c.y); - break; - case 'H': /* CUP -- Move to */ - case 'f': /* HVP */ - DEFAULT(csiescseq.arg[0], 1); - DEFAULT(csiescseq.arg[1], 1); - tmoveato(csiescseq.arg[1]-1, csiescseq.arg[0]-1); - break; - case 'I': /* CHT -- Cursor Forward Tabulation tab stops */ - DEFAULT(csiescseq.arg[0], 1); - tputtab(csiescseq.arg[0]); - break; - case 'J': /* ED -- Clear screen */ - switch (csiescseq.arg[0]) { - case 0: /* below */ - tclearregion(term.c.x, term.c.y, term.col-1, term.c.y); - if (term.c.y < term.row-1) { - tclearregion(0, term.c.y+1, term.col-1, - term.row-1); - } - break; - case 1: /* above */ - if (term.c.y > 1) - tclearregion(0, 0, term.col-1, term.c.y-1); - tclearregion(0, term.c.y, term.c.x, term.c.y); - break; - case 2: /* all */ - tclearregion(0, 0, term.col-1, term.row-1); - break; - default: - goto unknown; - } - break; - case 'K': /* EL -- Clear line */ - switch (csiescseq.arg[0]) { - case 0: /* right */ - tclearregion(term.c.x, term.c.y, term.col-1, - term.c.y); - break; - case 1: /* left */ - tclearregion(0, term.c.y, term.c.x, term.c.y); - break; - case 2: /* all */ - tclearregion(0, term.c.y, term.col-1, term.c.y); - break; - } - break; - case 'S': /* SU -- Scroll line up */ - DEFAULT(csiescseq.arg[0], 1); - tscrollup(term.top, csiescseq.arg[0], 0); - break; - case 'T': /* SD -- Scroll line down */ - DEFAULT(csiescseq.arg[0], 1); - tscrolldown(term.top, csiescseq.arg[0], 0); - break; - case 'L': /* IL -- Insert blank lines */ - DEFAULT(csiescseq.arg[0], 1); - tinsertblankline(csiescseq.arg[0]); - break; - case 'l': /* RM -- Reset Mode */ - tsetmode(csiescseq.priv, 0, csiescseq.arg, csiescseq.narg); - break; - case 'M': /* DL -- Delete lines */ - DEFAULT(csiescseq.arg[0], 1); - tdeleteline(csiescseq.arg[0]); - break; - case 'X': /* ECH -- Erase char */ - DEFAULT(csiescseq.arg[0], 1); - tclearregion(term.c.x, term.c.y, - term.c.x + csiescseq.arg[0] - 1, term.c.y); - break; - case 'P': /* DCH -- Delete char */ - DEFAULT(csiescseq.arg[0], 1); - tdeletechar(csiescseq.arg[0]); - break; - case 'Z': /* CBT -- Cursor Backward Tabulation tab stops */ - DEFAULT(csiescseq.arg[0], 1); - tputtab(-csiescseq.arg[0]); - break; - case 'd': /* VPA -- Move to */ - DEFAULT(csiescseq.arg[0], 1); - tmoveato(term.c.x, csiescseq.arg[0]-1); - break; - case 'h': /* SM -- Set terminal mode */ - tsetmode(csiescseq.priv, 1, csiescseq.arg, csiescseq.narg); - break; - case 'm': /* SGR -- Terminal attribute (color) */ - tsetattr(csiescseq.arg, csiescseq.narg); - break; - case 'n': /* DSR – Device Status Report (cursor position) */ - if (csiescseq.arg[0] == 6) { - len = snprintf(buf, sizeof(buf), "\033[%i;%iR", - term.c.y+1, term.c.x+1); - ttywrite(buf, len, 0); - } - break; - case 'r': /* DECSTBM -- Set Scrolling Region */ - if (csiescseq.priv) { - goto unknown; - } else { - DEFAULT(csiescseq.arg[0], 1); - DEFAULT(csiescseq.arg[1], term.row); - tsetscroll(csiescseq.arg[0]-1, csiescseq.arg[1]-1); - tmoveato(0, 0); - } - break; - case 's': /* DECSC -- Save cursor position (ANSI.SYS) */ - tcursor(CURSOR_SAVE); - break; - case 'u': /* DECRC -- Restore cursor position (ANSI.SYS) */ - tcursor(CURSOR_LOAD); - break; - case ' ': - switch (csiescseq.mode[1]) { - case 'q': /* DECSCUSR -- Set Cursor Style */ - if (xsetcursor(csiescseq.arg[0])) - goto unknown; - break; - default: - goto unknown; - } - break; - } -} - -void -csidump(void) -{ - size_t i; - uint c; - - fprintf(stderr, "ESC["); - for (i = 0; i < csiescseq.len; i++) { - c = csiescseq.buf[i] & 0xff; - if (isprint(c)) { - putc(c, stderr); - } else if (c == '\n') { - fprintf(stderr, "(\\n)"); - } else if (c == '\r') { - fprintf(stderr, "(\\r)"); - } else if (c == 0x1b) { - fprintf(stderr, "(\\e)"); - } else { - fprintf(stderr, "(%02x)", c); - } - } - putc('\n', stderr); -} - -void -csireset(void) -{ - memset(&csiescseq, 0, sizeof(csiescseq)); -} - -void -osc4_color_response(int num) -{ - int n; - char buf[32]; - unsigned char r, g, b; - - if (xgetcolor(num, &r, &g, &b)) { - fprintf(stderr, "erresc: failed to fetch osc4 color %d\n", num); - return; - } - - n = snprintf(buf, sizeof buf, "\033]4;%d;rgb:%02x%02x/%02x%02x/%02x%02x\007", - num, r, r, g, g, b, b); - - ttywrite(buf, n, 1); -} - -void -osc_color_response(int index, int num) -{ - int n; - char buf[32]; - unsigned char r, g, b; - - if (xgetcolor(index, &r, &g, &b)) { - fprintf(stderr, "erresc: failed to fetch osc color %d\n", index); - return; - } - - n = snprintf(buf, sizeof buf, "\033]%d;rgb:%02x%02x/%02x%02x/%02x%02x\007", - num, r, r, g, g, b, b); - - ttywrite(buf, n, 1); -} - -void -strhandle(void) -{ - char *p = NULL, *dec; - int j, narg, par; - - term.esc &= ~(ESC_STR_END|ESC_STR); - strparse(); - par = (narg = strescseq.narg) ? atoi(strescseq.args[0]) : 0; - - switch (strescseq.type) { - case ']': /* OSC -- Operating System Command */ - switch (par) { - case 0: - if (narg > 1) { - xsettitle(strescseq.args[1]); - xseticontitle(strescseq.args[1]); - } - return; - case 1: - if (narg > 1) - xseticontitle(strescseq.args[1]); - return; - case 2: - if (narg > 1) - xsettitle(strescseq.args[1]); - return; - case 52: - if (narg > 2 && allowwindowops) { - dec = base64dec(strescseq.args[2]); - if (dec) { - xsetsel(dec); - xclipcopy(); - } else { - fprintf(stderr, "erresc: invalid base64\n"); - } - } - return; - case 10: - if (narg < 2) - break; - - p = strescseq.args[1]; - - if (!strcmp(p, "?")) - osc_color_response(defaultfg, 10); - else if (xsetcolorname(defaultfg, p)) - fprintf(stderr, "erresc: invalid foreground color: %s\n", p); - else - redraw(); - return; - case 11: - if (narg < 2) - break; - - p = strescseq.args[1]; - - if (!strcmp(p, "?")) - osc_color_response(defaultbg, 11); - else if (xsetcolorname(defaultbg, p)) - fprintf(stderr, "erresc: invalid background color: %s\n", p); - else - redraw(); - return; - case 12: - if (narg < 2) - break; - - p = strescseq.args[1]; - - if (!strcmp(p, "?")) - osc_color_response(defaultcs, 12); - else if (xsetcolorname(defaultcs, p)) - fprintf(stderr, "erresc: invalid cursor color: %s\n", p); - else - redraw(); - return; - case 4: /* color set */ - if (narg < 3) - break; - p = strescseq.args[2]; - /* FALLTHROUGH */ - case 104: /* color reset */ - j = (narg > 1) ? atoi(strescseq.args[1]) : -1; - - if (p && !strcmp(p, "?")) - osc4_color_response(j); - else if (xsetcolorname(j, p)) { - if (par == 104 && narg <= 1) - return; /* color reset without parameter */ - fprintf(stderr, "erresc: invalid color j=%d, p=%s\n", - j, p ? p : "(null)"); - } else { - /* - * TODO if defaultbg color is changed, borders - * are dirty - */ - redraw(); - } - return; - } - break; - case 'k': /* old title set compatibility */ - xsettitle(strescseq.args[0]); - return; - case 'P': /* DCS -- Device Control String */ - case '_': /* APC -- Application Program Command */ - case '^': /* PM -- Privacy Message */ - return; - } - - fprintf(stderr, "erresc: unknown str "); - strdump(); -} - -void -strparse(void) -{ - int c; - char *p = strescseq.buf; - - strescseq.narg = 0; - strescseq.buf[strescseq.len] = '\0'; - - if (*p == '\0') - return; - - while (strescseq.narg < STR_ARG_SIZ) { - strescseq.args[strescseq.narg++] = p; - while ((c = *p) != ';' && c != '\0') - ++p; - if (c == '\0') - return; - *p++ = '\0'; - } -} - -void -strdump(void) -{ - size_t i; - uint c; - - fprintf(stderr, "ESC%c", strescseq.type); - for (i = 0; i < strescseq.len; i++) { - c = strescseq.buf[i] & 0xff; - if (c == '\0') { - putc('\n', stderr); - return; - } else if (isprint(c)) { - putc(c, stderr); - } else if (c == '\n') { - fprintf(stderr, "(\\n)"); - } else if (c == '\r') { - fprintf(stderr, "(\\r)"); - } else if (c == 0x1b) { - fprintf(stderr, "(\\e)"); - } else { - fprintf(stderr, "(%02x)", c); - } - } - fprintf(stderr, "ESC\\\n"); -} - -void -strreset(void) -{ - strescseq = (STREscape){ - .buf = xrealloc(strescseq.buf, STR_BUF_SIZ), - .siz = STR_BUF_SIZ, - }; -} - -void -sendbreak(const Arg *arg) -{ - if (tcsendbreak(cmdfd, 0)) - perror("Error sending break"); -} - -void -tprinter(char *s, size_t len) -{ - if (iofd != -1 && xwrite(iofd, s, len) < 0) { - perror("Error writing to output file"); - close(iofd); - iofd = -1; - } -} - -void -toggleprinter(const Arg *arg) -{ - term.mode ^= MODE_PRINT; -} - -void -printscreen(const Arg *arg) -{ - tdump(); -} - -void -printsel(const Arg *arg) -{ - tdumpsel(); -} - -void -tdumpsel(void) -{ - char *ptr; - - if ((ptr = getsel())) { - tprinter(ptr, strlen(ptr)); - free(ptr); - } -} - -void -tdumpline(int n) -{ - char buf[UTF_SIZ]; - const Glyph *bp, *end; - - bp = &term.line[n][0]; - end = &bp[MIN(tlinelen(n), term.col) - 1]; - if (bp != end || bp->u != ' ') { - for ( ; bp <= end; ++bp) - tprinter(buf, utf8encode(bp->u, buf)); - } - tprinter("\n", 1); -} - -void -tdump(void) -{ - int i; - - for (i = 0; i < term.row; ++i) - tdumpline(i); -} - -void -tputtab(int n) -{ - uint x = term.c.x; - - if (n > 0) { - while (x < term.col && n--) - for (++x; x < term.col && !term.tabs[x]; ++x) - /* nothing */ ; - } else if (n < 0) { - while (x > 0 && n++) - for (--x; x > 0 && !term.tabs[x]; --x) - /* nothing */ ; - } - term.c.x = LIMIT(x, 0, term.col-1); -} - -void -tdefutf8(char ascii) -{ - if (ascii == 'G') - term.mode |= MODE_UTF8; - else if (ascii == '@') - term.mode &= ~MODE_UTF8; -} - -void -tdeftran(char ascii) -{ - static char cs[] = "0B"; - static int vcs[] = {CS_GRAPHIC0, CS_USA}; - char *p; - - if ((p = strchr(cs, ascii)) == NULL) { - fprintf(stderr, "esc unhandled charset: ESC ( %c\n", ascii); - } else { - term.trantbl[term.icharset] = vcs[p - cs]; - } -} - -void -tdectest(char c) -{ - int x, y; - - if (c == '8') { /* DEC screen alignment test. */ - for (x = 0; x < term.col; ++x) { - for (y = 0; y < term.row; ++y) - tsetchar('E', &term.c.attr, x, y); - } - } -} - -void -tstrsequence(uchar c) -{ - switch (c) { - case 0x90: /* DCS -- Device Control String */ - c = 'P'; - break; - case 0x9f: /* APC -- Application Program Command */ - c = '_'; - break; - case 0x9e: /* PM -- Privacy Message */ - c = '^'; - break; - case 0x9d: /* OSC -- Operating System Command */ - c = ']'; - break; - } - strreset(); - strescseq.type = c; - term.esc |= ESC_STR; -} - -void -tcontrolcode(uchar ascii) -{ - switch (ascii) { - case '\t': /* HT */ - tputtab(1); - return; - case '\b': /* BS */ - tmoveto(term.c.x-1, term.c.y); - return; - case '\r': /* CR */ - tmoveto(0, term.c.y); - return; - case '\f': /* LF */ - case '\v': /* VT */ - case '\n': /* LF */ - /* go to first col if the mode is set */ - tnewline(IS_SET(MODE_CRLF)); - return; - case '\a': /* BEL */ - if (term.esc & ESC_STR_END) { - /* backwards compatibility to xterm */ - strhandle(); - } else { - xbell(); - } - break; - case '\033': /* ESC */ - csireset(); - term.esc &= ~(ESC_CSI|ESC_ALTCHARSET|ESC_TEST); - term.esc |= ESC_START; - return; - case '\016': /* SO (LS1 -- Locking shift 1) */ - case '\017': /* SI (LS0 -- Locking shift 0) */ - term.charset = 1 - (ascii - '\016'); - return; - case '\032': /* SUB */ - tsetchar('?', &term.c.attr, term.c.x, term.c.y); - /* FALLTHROUGH */ - case '\030': /* CAN */ - csireset(); - break; - case '\005': /* ENQ (IGNORED) */ - case '\000': /* NUL (IGNORED) */ - case '\021': /* XON (IGNORED) */ - case '\023': /* XOFF (IGNORED) */ - case 0177: /* DEL (IGNORED) */ - return; - case 0x80: /* TODO: PAD */ - case 0x81: /* TODO: HOP */ - case 0x82: /* TODO: BPH */ - case 0x83: /* TODO: NBH */ - case 0x84: /* TODO: IND */ - break; - case 0x85: /* NEL -- Next line */ - tnewline(1); /* always go to first col */ - break; - case 0x86: /* TODO: SSA */ - case 0x87: /* TODO: ESA */ - break; - case 0x88: /* HTS -- Horizontal tab stop */ - term.tabs[term.c.x] = 1; - break; - case 0x89: /* TODO: HTJ */ - case 0x8a: /* TODO: VTS */ - case 0x8b: /* TODO: PLD */ - case 0x8c: /* TODO: PLU */ - case 0x8d: /* TODO: RI */ - case 0x8e: /* TODO: SS2 */ - case 0x8f: /* TODO: SS3 */ - case 0x91: /* TODO: PU1 */ - case 0x92: /* TODO: PU2 */ - case 0x93: /* TODO: STS */ - case 0x94: /* TODO: CCH */ - case 0x95: /* TODO: MW */ - case 0x96: /* TODO: SPA */ - case 0x97: /* TODO: EPA */ - case 0x98: /* TODO: SOS */ - case 0x99: /* TODO: SGCI */ - break; - case 0x9a: /* DECID -- Identify Terminal */ - ttywrite(vtiden, strlen(vtiden), 0); - break; - case 0x9b: /* TODO: CSI */ - case 0x9c: /* TODO: ST */ - break; - case 0x90: /* DCS -- Device Control String */ - case 0x9d: /* OSC -- Operating System Command */ - case 0x9e: /* PM -- Privacy Message */ - case 0x9f: /* APC -- Application Program Command */ - tstrsequence(ascii); - return; - } - /* only CAN, SUB, \a and C1 chars interrupt a sequence */ - term.esc &= ~(ESC_STR_END|ESC_STR); -} - -/* - * returns 1 when the sequence is finished and it hasn't to read - * more characters for this sequence, otherwise 0 - */ -int -eschandle(uchar ascii) -{ - switch (ascii) { - case '[': - term.esc |= ESC_CSI; - return 0; - case '#': - term.esc |= ESC_TEST; - return 0; - case '%': - term.esc |= ESC_UTF8; - return 0; - case 'P': /* DCS -- Device Control String */ - case '_': /* APC -- Application Program Command */ - case '^': /* PM -- Privacy Message */ - case ']': /* OSC -- Operating System Command */ - case 'k': /* old title set compatibility */ - tstrsequence(ascii); - return 0; - case 'n': /* LS2 -- Locking shift 2 */ - case 'o': /* LS3 -- Locking shift 3 */ - term.charset = 2 + (ascii - 'n'); - break; - case '(': /* GZD4 -- set primary charset G0 */ - case ')': /* G1D4 -- set secondary charset G1 */ - case '*': /* G2D4 -- set tertiary charset G2 */ - case '+': /* G3D4 -- set quaternary charset G3 */ - term.icharset = ascii - '('; - term.esc |= ESC_ALTCHARSET; - return 0; - case 'D': /* IND -- Linefeed */ - if (term.c.y == term.bot) { - tscrollup(term.top, 1, 1); - } else { - tmoveto(term.c.x, term.c.y+1); - } - break; - case 'E': /* NEL -- Next line */ - tnewline(1); /* always go to first col */ - break; - case 'H': /* HTS -- Horizontal tab stop */ - term.tabs[term.c.x] = 1; - break; - case 'M': /* RI -- Reverse index */ - if (term.c.y == term.top) { - tscrolldown(term.top, 1, 1); - } else { - tmoveto(term.c.x, term.c.y-1); - } - break; - case 'Z': /* DECID -- Identify Terminal */ - ttywrite(vtiden, strlen(vtiden), 0); - break; - case 'c': /* RIS -- Reset to initial state */ - treset(); - resettitle(); - xloadcols(); - break; - case '=': /* DECPAM -- Application keypad */ - xsetmode(1, MODE_APPKEYPAD); - break; - case '>': /* DECPNM -- Normal keypad */ - xsetmode(0, MODE_APPKEYPAD); - break; - case '7': /* DECSC -- Save Cursor */ - tcursor(CURSOR_SAVE); - break; - case '8': /* DECRC -- Restore Cursor */ - tcursor(CURSOR_LOAD); - break; - case '\\': /* ST -- String Terminator */ - if (term.esc & ESC_STR_END) - strhandle(); - break; - default: - fprintf(stderr, "erresc: unknown sequence ESC 0x%02X '%c'\n", - (uchar) ascii, isprint(ascii)? ascii:'.'); - break; - } - return 1; -} - -void -tputc(Rune u) -{ - char c[UTF_SIZ]; - int control; - int width, len; - Glyph *gp; - - control = ISCONTROL(u); - if (u < 127 || !IS_SET(MODE_UTF8)) { - c[0] = u; - width = len = 1; - } else { - len = utf8encode(u, c); - if (!control && (width = wcwidth(u)) == -1) - width = 1; - } - - if (IS_SET(MODE_PRINT)) - tprinter(c, len); - - /* - * STR sequence must be checked before anything else - * because it uses all following characters until it - * receives a ESC, a SUB, a ST or any other C1 control - * character. - */ - if (term.esc & ESC_STR) { - if (u == '\a' || u == 030 || u == 032 || u == 033 || - ISCONTROLC1(u)) { - term.esc &= ~(ESC_START|ESC_STR); - term.esc |= ESC_STR_END; - goto check_control_code; - } - - if (strescseq.len+len >= strescseq.siz) { - /* - * Here is a bug in terminals. If the user never sends - * some code to stop the str or esc command, then st - * will stop responding. But this is better than - * silently failing with unknown characters. At least - * then users will report back. - * - * In the case users ever get fixed, here is the code: - */ - /* - * term.esc = 0; - * strhandle(); - */ - if (strescseq.siz > (SIZE_MAX - UTF_SIZ) / 2) - return; - strescseq.siz *= 2; - strescseq.buf = xrealloc(strescseq.buf, strescseq.siz); - } - - memmove(&strescseq.buf[strescseq.len], c, len); - strescseq.len += len; - return; - } - -check_control_code: - /* - * Actions of control codes must be performed as soon they arrive - * because they can be embedded inside a control sequence, and - * they must not cause conflicts with sequences. - */ - if (control) { - tcontrolcode(u); - /* - * control codes are not shown ever - */ - if (!term.esc) - term.lastc = 0; - return; - } else if (term.esc & ESC_START) { - if (term.esc & ESC_CSI) { - csiescseq.buf[csiescseq.len++] = u; - if (BETWEEN(u, 0x40, 0x7E) - || csiescseq.len >= \ - sizeof(csiescseq.buf)-1) { - term.esc = 0; - csiparse(); - csihandle(); - } - return; - } else if (term.esc & ESC_UTF8) { - tdefutf8(u); - } else if (term.esc & ESC_ALTCHARSET) { - tdeftran(u); - } else if (term.esc & ESC_TEST) { - tdectest(u); - } else { - if (!eschandle(u)) - return; - /* sequence already finished */ - } - term.esc = 0; - /* - * All characters which form part of a sequence are not - * printed - */ - return; - } - if (selected(term.c.x, term.c.y)) - selclear(); - - gp = &term.line[term.c.y][term.c.x]; - if (IS_SET(MODE_WRAP) && (term.c.state & CURSOR_WRAPNEXT)) { - gp->mode |= ATTR_WRAP; - tnewline(1); - gp = &term.line[term.c.y][term.c.x]; - } - - if (IS_SET(MODE_INSERT) && term.c.x+width < term.col) - memmove(gp+width, gp, (term.col - term.c.x - width) * sizeof(Glyph)); - - if (term.c.x+width > term.col) { - tnewline(1); - gp = &term.line[term.c.y][term.c.x]; - } - - tsetchar(u, &term.c.attr, term.c.x, term.c.y); - term.lastc = u; - - if (width == 2) { - gp->mode |= ATTR_WIDE; - if (term.c.x+1 < term.col) { - if (gp[1].mode == ATTR_WIDE && term.c.x+2 < term.col) { - gp[2].u = ' '; - gp[2].mode &= ~ATTR_WDUMMY; - } - gp[1].u = '\0'; - gp[1].mode = ATTR_WDUMMY; - } - } - if (term.c.x+width < term.col) { - tmoveto(term.c.x+width, term.c.y); - } else { - term.c.state |= CURSOR_WRAPNEXT; - } -} - -int -twrite(const char *buf, int buflen, int show_ctrl) -{ - int charsize; - Rune u; - int n; - - for (n = 0; n < buflen; n += charsize) { - if (IS_SET(MODE_UTF8)) { - /* process a complete utf8 char */ - charsize = utf8decode(buf + n, &u, buflen - n); - if (charsize == 0) - break; - } else { - u = buf[n] & 0xFF; - charsize = 1; - } - if (show_ctrl && ISCONTROL(u)) { - if (u & 0x80) { - u &= 0x7f; - tputc('^'); - tputc('['); - } else if (u != '\n' && u != '\r' && u != '\t') { - u ^= 0x40; - tputc('^'); - } - } - tputc(u); - } - return n; -} - -void -tresize(int col, int row) -{ - int i, j; - int minrow = MIN(row, term.row); - int mincol = MIN(col, term.col); - int *bp; - TCursor c; - - if (col < 1 || row < 1) { - fprintf(stderr, - "tresize: error resizing to %dx%d\n", col, row); - return; - } - - /* - * slide screen to keep cursor where we expect it - - * tscrollup would work here, but we can optimize to - * memmove because we're freeing the earlier lines - */ - for (i = 0; i <= term.c.y - row; i++) { - free(term.line[i]); - free(term.alt[i]); - } - /* ensure that both src and dst are not NULL */ - if (i > 0) { - memmove(term.line, term.line + i, row * sizeof(Line)); - memmove(term.alt, term.alt + i, row * sizeof(Line)); - } - for (i += row; i < term.row; i++) { - free(term.line[i]); - free(term.alt[i]); - } - - /* resize to new height */ - term.line = xrealloc(term.line, row * sizeof(Line)); - term.alt = xrealloc(term.alt, row * sizeof(Line)); - term.dirty = xrealloc(term.dirty, row * sizeof(*term.dirty)); - term.tabs = xrealloc(term.tabs, col * sizeof(*term.tabs)); - - for (i = 0; i < HISTSIZE; i++) { - term.hist[i] = xrealloc(term.hist[i], col * sizeof(Glyph)); - for (j = mincol; j < col; j++) { - term.hist[i][j] = term.c.attr; - term.hist[i][j].u = ' '; - } - } - - /* resize each row to new width, zero-pad if needed */ - for (i = 0; i < minrow; i++) { - term.line[i] = xrealloc(term.line[i], col * sizeof(Glyph)); - term.alt[i] = xrealloc(term.alt[i], col * sizeof(Glyph)); - } - - /* allocate any new rows */ - for (/* i = minrow */; i < row; i++) { - term.line[i] = xmalloc(col * sizeof(Glyph)); - term.alt[i] = xmalloc(col * sizeof(Glyph)); - } - if (col > term.col) { - bp = term.tabs + term.col; - - memset(bp, 0, sizeof(*term.tabs) * (col - term.col)); - while (--bp > term.tabs && !*bp) - /* nothing */ ; - for (bp += tabspaces; bp < term.tabs + col; bp += tabspaces) - *bp = 1; - } - /* update terminal size */ - term.col = col; - term.row = row; - /* reset scrolling region */ - tsetscroll(0, row-1); - /* make use of the LIMIT in tmoveto */ - tmoveto(term.c.x, term.c.y); - /* Clearing both screens (it makes dirty all lines) */ - c = term.c; - for (i = 0; i < 2; i++) { - if (mincol < col && 0 < minrow) { - tclearregion(mincol, 0, col - 1, minrow - 1); - } - if (0 < col && minrow < row) { - tclearregion(0, minrow, col - 1, row - 1); - } - tswapscreen(); - tcursor(CURSOR_LOAD); - } - term.c = c; -} - -void -resettitle(void) -{ - xsettitle(NULL); -} - -void -drawregion(int x1, int y1, int x2, int y2) -{ - int y; - - for (y = y1; y < y2; y++) { - if (!term.dirty[y]) - continue; - - term.dirty[y] = 0; - xdrawline(TLINE(y), x1, y, x2); - } -} - -void -draw(void) -{ - int cx = term.c.x, ocx = term.ocx, ocy = term.ocy; - - if (!xstartdraw()) - return; - - /* adjust cursor position */ - LIMIT(term.ocx, 0, term.col-1); - LIMIT(term.ocy, 0, term.row-1); - if (term.line[term.ocy][term.ocx].mode & ATTR_WDUMMY) - term.ocx--; - if (term.line[term.c.y][cx].mode & ATTR_WDUMMY) - cx--; - - drawregion(0, 0, term.col, term.row); - if (term.scr == 0) - xdrawcursor(cx, term.c.y, term.line[term.c.y][cx], - term.ocx, term.ocy, term.line[term.ocy][term.ocx], - term.line[term.ocy], term.col); - term.ocx = cx; - term.ocy = term.c.y; - xfinishdraw(); - if (ocx != term.ocx || ocy != term.ocy) - xximspot(term.ocx, term.ocy); -} - -void -redraw(void) -{ - tfulldirt(); - draw(); -} diff --git a/.ccls-cache/@home@spy@Development@st/st.c.blob b/.ccls-cache/@home@spy@Development@st/st.c.blob deleted file mode 100644 index a5b7b45..0000000 Binary files a/.ccls-cache/@home@spy@Development@st/st.c.blob and /dev/null differ diff --git a/.ccls-cache/@home@spy@Development@st/st.h b/.ccls-cache/@home@spy@Development@st/st.h deleted file mode 100644 index 3407fc8..0000000 --- a/.ccls-cache/@home@spy@Development@st/st.h +++ /dev/null @@ -1,142 +0,0 @@ -/* See LICENSE for license details. */ - -#include -#include - -/* macros */ -#define MIN(a, b) ((a) < (b) ? (a) : (b)) -#define MAX(a, b) ((a) < (b) ? (b) : (a)) -#define LEN(a) (sizeof(a) / sizeof(a)[0]) -#define BETWEEN(x, a, b) ((a) <= (x) && (x) <= (b)) -#define DIVCEIL(n, d) (((n) + ((d) - 1)) / (d)) -#define DEFAULT(a, b) (a) = (a) ? (a) : (b) -#define LIMIT(x, a, b) (x) = (x) < (a) ? (a) : (x) > (b) ? (b) : (x) -#define ATTRCMP(a, b) (((a).mode & (~ATTR_WRAP) & (~ATTR_LIGA)) != ((b).mode & (~ATTR_WRAP) & (~ATTR_LIGA)) || \ - (a).fg != (b).fg || \ - (a).bg != (b).bg) -#define TIMEDIFF(t1, t2) ((t1.tv_sec-t2.tv_sec)*1000 + \ - (t1.tv_nsec-t2.tv_nsec)/1E6) -#define MODBIT(x, set, bit) ((set) ? ((x) |= (bit)) : ((x) &= ~(bit))) - -#define TRUECOLOR(r,g,b) (1 << 24 | (r) << 16 | (g) << 8 | (b)) -#define IS_TRUECOL(x) (1 << 24 & (x)) - -enum glyph_attribute { - ATTR_NULL = 0, - ATTR_BOLD = 1 << 0, - ATTR_FAINT = 1 << 1, - ATTR_ITALIC = 1 << 2, - ATTR_UNDERLINE = 1 << 3, - ATTR_BLINK = 1 << 4, - ATTR_REVERSE = 1 << 5, - ATTR_INVISIBLE = 1 << 6, - ATTR_STRUCK = 1 << 7, - ATTR_WRAP = 1 << 8, - ATTR_WIDE = 1 << 9, - ATTR_WDUMMY = 1 << 10, - ATTR_BOXDRAW = 1 << 11, - ATTR_LIGA = 1 << 12, - ATTR_BOLD_FAINT = ATTR_BOLD | ATTR_FAINT, -}; - -enum selection_mode { - SEL_IDLE = 0, - SEL_EMPTY = 1, - SEL_READY = 2 -}; - -enum selection_type { - SEL_REGULAR = 1, - SEL_RECTANGULAR = 2 -}; - -enum selection_snap { - SNAP_WORD = 1, - SNAP_LINE = 2 -}; - -typedef unsigned char uchar; -typedef unsigned int uint; -typedef unsigned long ulong; -typedef unsigned short ushort; - -typedef uint_least32_t Rune; - -#define Glyph Glyph_ -typedef struct { - Rune u; /* character code */ - ushort mode; /* attribute flags */ - uint32_t fg; /* foreground */ - uint32_t bg; /* background */ -} Glyph; - -typedef Glyph *Line; - -typedef union { - int i; - uint ui; - float f; - const void *v; - const char *s; -} Arg; - -void die(const char *, ...); -void redraw(void); -void draw(void); - -void kscrolldown(const Arg *); -void kscrollup(const Arg *); -void printscreen(const Arg *); -void printsel(const Arg *); -void sendbreak(const Arg *); -void toggleprinter(const Arg *); - -int tattrset(int); -void tnew(int, int); -void tresize(int, int); -void tsetdirtattr(int); -void ttyhangup(void); -int ttynew(const char *, char *, const char *, char **); -size_t ttyread(void); -void ttyresize(int, int); -void ttywrite(const char *, size_t, int); - -void resettitle(void); - -void selclear(void); -void selinit(void); -void selstart(int, int, int); -void selextend(int, int, int, int); -int selected(int, int); -char *getsel(void); - -size_t utf8encode(Rune, char *); - -void *xmalloc(size_t); -void *xrealloc(void *, size_t); -char *xstrdup(const char *); - -int xgetcolor(int x, unsigned char *r, unsigned char *g, unsigned char *b); - -int isboxdraw(Rune); -ushort boxdrawindex(const Glyph *); -#ifdef XFT_VERSION -/* only exposed to x.c, otherwise we'll need Xft.h for the types */ -void boxdraw_xinit(Display *, Colormap, XftDraw *, Visual *); -void drawboxes(int, int, int, int, XftColor *, XftColor *, const XftGlyphFontSpec *, int); -#endif - -/* config.h globals */ -extern char *utmp; -extern char *scroll; -extern char *stty_args; -extern char *vtiden; -extern wchar_t *worddelimiters; -extern int allowaltscreen; -extern int allowwindowops; -extern char *termname; -extern unsigned int tabspaces; -extern unsigned int defaultfg; -extern unsigned int defaultbg; -extern unsigned int defaultcs; -extern const int boxdraw, boxdraw_bold, boxdraw_braille; diff --git a/.ccls-cache/@home@spy@Development@st/st.h.blob b/.ccls-cache/@home@spy@Development@st/st.h.blob deleted file mode 100644 index 0c8d600..0000000 Binary files a/.ccls-cache/@home@spy@Development@st/st.h.blob and /dev/null differ diff --git a/.ccls-cache/@home@spy@Development@st/win.h b/.ccls-cache/@home@spy@Development@st/win.h deleted file mode 100644 index 8b5b618..0000000 --- a/.ccls-cache/@home@spy@Development@st/win.h +++ /dev/null @@ -1,40 +0,0 @@ -/* See LICENSE for license details. */ - -enum win_mode { - MODE_VISIBLE = 1 << 0, - MODE_FOCUSED = 1 << 1, - MODE_APPKEYPAD = 1 << 2, - MODE_MOUSEBTN = 1 << 3, - MODE_MOUSEMOTION = 1 << 4, - MODE_REVERSE = 1 << 5, - MODE_KBDLOCK = 1 << 6, - MODE_HIDE = 1 << 7, - MODE_APPCURSOR = 1 << 8, - MODE_MOUSESGR = 1 << 9, - MODE_8BIT = 1 << 10, - MODE_BLINK = 1 << 11, - MODE_FBLINK = 1 << 12, - MODE_FOCUS = 1 << 13, - MODE_MOUSEX10 = 1 << 14, - MODE_MOUSEMANY = 1 << 15, - MODE_BRCKTPASTE = 1 << 16, - MODE_NUMLOCK = 1 << 17, - MODE_MOUSE = MODE_MOUSEBTN|MODE_MOUSEMOTION|MODE_MOUSEX10\ - |MODE_MOUSEMANY, -}; - -void xbell(void); -void xclipcopy(void); -void xdrawcursor(int, int, Glyph, int, int, Glyph, Line, int); -void xdrawline(Line, int, int, int); -void xfinishdraw(void); -void xloadcols(void); -int xsetcolorname(int, const char *); -void xseticontitle(char *); -void xsettitle(char *); -int xsetcursor(int); -void xsetmode(int, unsigned int); -void xsetpointermotion(int); -void xsetsel(char *); -int xstartdraw(void); -void xximspot(int, int); diff --git a/.ccls-cache/@home@spy@Development@st/win.h.blob b/.ccls-cache/@home@spy@Development@st/win.h.blob deleted file mode 100644 index d25ca3f..0000000 Binary files a/.ccls-cache/@home@spy@Development@st/win.h.blob and /dev/null differ diff --git a/.gitignore b/.gitignore index c5cc104..33a2dfa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ +.ccls-cache *.o st