musl/include
наб 7291c6c66a statvfs: allocate spare for f_type
This is the only missing part in struct statvfs. The LSB calls
[f]statfs() deprecated, and its weird types are definitely
off-putting. However, its use is required to get f_type.

Instead, allocate one of the six spares to f_type, copied directly
from struct statfs. This then becomes a small extension to the
standard interface on Linux, instead of two different interfaces, one
of which is quite odd due to being an ABI type, and there no longer is
any reason to use statfs().

The underlying kernel type is a mess, but all architectures agree on u32
(or more) for the ABI, and all filesystem magicks are 32-bit integers.

Since commit 6567db65f4 (prior to
1.0.0), the spare slots have been zero-filled, so on all versions that
may be reasonably be encountered in the wild, applications can rely on
a nonzero f_type as indication that the new field has been filled in.
2023-08-19 14:46:20 -04:00
..
arpa arpa/nameser.h: update RR types list 2022-09-22 18:44:44 -04:00
net net/if_arp.h: add ARPHRD_RAWIP from linux v4.14 2018-02-22 18:47:49 -05:00
netinet netinet/in.h: add INADDR_DUMMY from linux v5.13 2022-03-08 17:21:26 -05:00
netpacket add PACKET_IGNORE_OUTGOING sockopt from linux v4.20 2019-03-13 12:32:19 -04:00
scsi add legacy scsi/scsi_ioctl.h header 2013-07-03 18:07:50 +02:00
sys statvfs: allocate spare for f_type 2023-08-19 14:46:20 -04:00
aio.h remove LFS64 programming interfaces (macro-only) from _GNU_SOURCE 2022-10-19 14:01:31 -04:00
alloca.h unconditonally define alloca as __builtin_alloca 2020-01-01 15:07:11 -05:00
alltypes.h.in fix regression with applications that expect struct winsize in ioctl.h 2020-08-30 16:47:40 -04:00
ar.h
assert.h restore _Noreturn to __assert_fail 2016-08-30 16:39:54 -04:00
byteswap.h
complex.h fix mismatched parens in CMPLX def for annex-g-conforming compilers 2015-11-02 21:44:57 -05:00
cpio.h
crypt.h
ctype.h suppress isascii() macro for C++ 2021-02-25 16:35:54 -05:00
dirent.h remove LFS64 programming interfaces (macro-only) from _GNU_SOURCE 2022-10-19 14:01:31 -04:00
dlfcn.h add time64 redirect for, and redirecting implementation of, dlsym 2019-11-02 18:30:56 -04:00
elf.h elf.h: add ELFCOMPRESS_ZSTD 2022-12-14 09:34:32 -05:00
endian.h make endian.h expose unprefixed macros, functions in standard profile 2019-10-17 16:26:22 -04:00
err.h
errno.h restore attribute((const)) to pthread_self and errno location decls 2018-10-16 14:10:27 -04:00
fcntl.h move fallocate64 declaration under _LARGEFILE64_SOURCE feature test 2023-05-02 11:45:28 -04:00
features.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
fenv.h
float.h fix FLT_ROUNDS regression in C++ applications 2015-03-23 11:26:51 -04:00
fmtmsg.h implement fmtmsg function 2014-06-21 19:24:15 -04:00
fnmatch.h remove now-unnecessary features.h inclusion from fnmatch.h 2013-12-02 02:06:52 -05:00
ftw.h remove LFS64 programming interfaces (macro-only) from _GNU_SOURCE 2022-10-19 14:01:31 -04:00
getopt.h make brace placement in public header struct definitions consistent 2016-07-03 15:02:25 -04:00
glob.h remove LFS64 programming interfaces (macro-only) from _GNU_SOURCE 2022-10-19 14:01:31 -04:00
grp.h fix various header namespace issues under feature-test-macro control 2016-10-20 17:20:01 -04:00
iconv.h
ifaddrs.h remove parameter names from public headers 2016-10-20 17:04:37 -04:00
inttypes.h fix inttypes.h PRI and SCN macros for [u]intptr_t types 2013-10-30 14:52:55 -04:00
iso646.h
langinfo.h add _NL_LOCALE_NAME extension to nl_langinfo 2017-07-31 23:08:27 -04:00
lastlog.h
libgen.h
libintl.h add format argument attributes to gettext function prototypes 2015-09-15 20:30:36 +00:00
limits.h move struct dirent to bits header, allow NAME_MAX to vary 2020-01-25 23:08:55 -05:00
link.h generalize ELF hash table types not to assume 32-bit entries 2016-11-11 12:46:06 -05:00
locale.h define NULL as nullptr when used in C++11 or later 2021-11-29 17:45:21 -05:00
malloc.h add malloc_usable_size function and non-stub malloc.h 2014-08-25 22:47:27 -04:00
math.h define FP_FAST_FMA* when fma* can be inlined 2019-04-17 13:02:47 -04:00
memory.h
mntent.h make brace placement in public header struct definitions consistent 2016-07-03 15:02:25 -04:00
monetary.h
mqueue.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
netdb.h getaddrinfo: add EAI_NODATA error code to distinguish NODATA vs NxDomain 2022-09-20 18:09:42 -04:00
nl_types.h refactor headers, especially alltypes.h, and improve C++ ABI compat 2013-07-22 11:22:36 -04:00
paths.h remove duplicate definition of _PATH_LASTLOG in paths.h 2013-12-03 20:34:36 -05:00
poll.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
pthread.h add pthread_getname_np function 2021-04-20 15:34:30 -04:00
pty.h
pwd.h fix various header namespace issues under feature-test-macro control 2016-10-20 17:20:01 -04:00
regex.h make regoff_t and regex_t match C++ ABI 2013-07-22 14:39:59 -04:00
resolv.h don't claim support for resolv.h APIs that aren't supported 2016-11-07 11:55:53 -05:00
sched.h fix incorrect unit for CPU_SETSIZE macro 2023-02-23 10:10:44 -05:00
search.h implement hcreate_r, hdestroy_r and hsearch_r 2014-04-02 18:37:45 -04:00
semaphore.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
setjmp.h guard against compilers failing to handle setjmp specially by default 2021-02-22 15:52:21 -05:00
shadow.h
signal.h signal.h: add new sa_flags from linux v5.11 2022-03-08 17:19:49 -05:00
spawn.h add posix_spawn [f]chdir file actions 2019-08-30 16:21:36 -04:00
stdalign.h add static_assert and hide noreturn, alignas, alignof from C++ 2014-08-27 02:55:54 -04:00
stdarg.h remove legacy i386 fallback stdarg implementation and framework 2016-12-15 12:18:24 -05:00
stdbool.h stdbool.h should define __bool_true_false_are_defined even for C++ 2013-08-28 00:41:00 -04:00
stdc-predef.h define __STDC_UTF_{16,32}__ macros 2021-04-19 09:49:20 -04:00
stddef.h define NULL as nullptr when used in C++11 or later 2021-11-29 17:45:21 -05:00
stdint.h fix signedness of UINT32_MAX and UINT64_MAX at the preprocessor level 2014-12-21 02:30:29 -05:00
stdio_ext.h
stdio.h remove LFS64 programming interfaces (macro-only) from _GNU_SOURCE 2022-10-19 14:01:31 -04:00
stdlib.h fix integer overflow in WIFSTOPPED macro 2023-02-08 16:42:28 -05:00
stdnoreturn.h add static_assert and hide noreturn, alignas, alignof from C++ 2014-08-27 02:55:54 -04:00
string.h expose memmem under baseline POSIX feature profile 2023-01-06 06:33:19 -05:00
strings.h fix strings.h feature test macro usage due to missing features.h 2022-08-01 13:57:11 -04:00
stropts.h
syscall.h
sysexits.h
syslog.h remove hack in syslog.h that resulted in aliasing violations 2014-06-21 07:44:46 -04:00
tar.h expose TSVTX unconditionally in tar.h 2019-03-13 10:42:57 -04:00
termios.h fix regression with applications that expect struct winsize in ioctl.h 2020-08-30 16:47:40 -04:00
tgmath.h
threads.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
time.h define NULL as nullptr when used in C++11 or later 2021-11-29 17:45:21 -05:00
uchar.h uchar.h: define char16_t and char32_t for old c++ 2018-07-17 22:24:03 -04:00
ucontext.h fix signature of function accepted by makecontext 2019-04-05 17:29:00 -04:00
ulimit.h
unistd.h remove LFS64 programming interfaces (macro-only) from _GNU_SOURCE 2022-10-19 14:01:31 -04:00
utime.h add time64 symbol name redirects to public headers, under arch control 2019-10-28 19:26:52 -04:00
utmp.h add declarations for utmpname/utmpxname to appropriate headers 2016-02-12 09:58:50 -05:00
utmpx.h adjust utmpx struct layout for time64, 32-/64-bit arch compat 2019-12-22 12:37:16 -05:00
values.h
wait.h add workaround header for wait.h remapping to sys/wait.h 2013-09-01 01:01:31 -04:00
wchar.h define NULL as nullptr when used in C++11 or later 2021-11-29 17:45:21 -05:00
wctype.h improve iswdigit macro to diagnose errors 2015-05-02 21:19:08 -04:00
wordexp.h make brace placement in public header typedef'd structs consistent 2016-07-03 16:19:28 -04:00