opnsense-src/include
Dag-Erling Smørgrav f0ac5e919f fts: Add blocks support.
This adds an `fts_open_b()` variant of `fts_open()` which takes a block
instead of a function pointer.

This was inspired by, and is intended to be compatible with, Apple's
implementation; however, although our FTS and theirs share a common
ancestor, they have diverged significantly.  That and the fact that
we still target compilers which don't support blocks means Apple's
implementation was not directly reusable.

This is the second use case for blocks in FreeBSD (the first being
`qsort_b()`, which we use here).  This suggest we might want to add
a `COMPILER_FEATURE` for blocks to avoid hardcoding any further
`COMPILER_TYPE` checks.

MFC after:	never
Relnotes:	yes
Sponsored by:	Klara, Inc.
Reviewed by:	kevans, theraven, imp
Differential Revision:	https://reviews.freebsd.org/D49877
2025-04-22 19:25:56 +02:00
..
arm arm64 lib32: prepare arm64 headers to redirect to arm 2023-07-25 18:59:26 -05:00
arpa Remove residual blank line at start of Makefile 2024-07-15 16:43:39 -06:00
gssapi Remove residual blank line at start of Makefile 2024-07-15 16:43:39 -06:00
i386 include/i386: fix release builds 2022-06-13 21:37:34 +01:00
protocols Remove residual blank line at start of Makefile 2024-07-15 16:43:39 -06:00
rpc rpc: limited multithread support for svc_nl 2025-02-01 01:00:28 -08:00
rpcsvc Remove residual blank line at start of Makefile 2024-07-15 16:43:39 -06:00
ssp ssp: Make ssp.h more self-contained 2024-12-29 17:57:46 +00:00
xlocale Remove residual blank line at start of Makefile 2024-07-15 16:43:39 -06:00
_ctype.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
a.out.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
ar.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
assert.h include: add a userland version of __assert_unreachable 2025-01-12 18:41:37 -06:00
bitstring.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
byteswap.h byteswap.h: Add a glibc/linux compatible byteswap.h 2023-01-20 16:37:39 -07:00
complex.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
cpio.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
ctype.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
db.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
dirent.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
dlfcn.h Revert Make newly POSIX functions visible 2025-03-20 03:41:27 -04:00
elf-hints.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
elf.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
endian.h endian.h: Update comments now that POSIX Issue 8 is POSIX.1-2024 2024-12-30 13:38:39 -07:00
err.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
fmtmsg.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
fnmatch.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
fstab.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
fts.h fts: Add blocks support. 2025-04-22 19:25:56 +02:00
ftw.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
getopt.h Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:29 -06:00
glob.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
grp.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
gssapi.h Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:29 -06:00
hesiod.h Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:29 -06:00
iconv.h include: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
ieeefp.h Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:29 -06:00
ifaddrs.h Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:29 -06:00
inttypes.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
iso646.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
kenv.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
langinfo.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
libgen.h Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:29 -06:00
limits.h libc: Fix getentropy POSIX 2024 conformance issues 2025-01-17 13:23:23 -05:00
link.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
locale.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
Makefile Revert "isp: Fix abort issue introduced by previous commit" 2025-01-08 13:20:09 -05:00
Makefile.depend Update Makefile.depend files 2024-10-14 10:26:17 -07:00
Makefile.inc pkgbase: Move headers and libs out of runtime and utilities 2023-09-12 13:22:21 +01:00
malloc.h Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:23 -06:00
malloc_np.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
memory.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
mk-osreldate.sh Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
monetary.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
mpool.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
mqueue.h include: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
ndbm.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
netconfig.h Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:29 -06:00
netdb.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
nl_types.h Revert "nl_types.h: explicitly include cdefs.h" 2024-01-24 22:50:49 -05:00
nlist.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
nss.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
nsswitch.h Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:29 -06:00
ossfuzz.h vendor/bc: upgrade to version 7.0.0 2024-08-26 18:27:29 +02:00
paths.h Ensure that soft updates are not enabled by default when using mdmfs(8) 2024-10-03 08:06:28 -07:00
printf.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
proc_service.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
pthread.h libthr: add pthread_sigqueue(3) 2024-04-23 19:51:22 +03:00
pthread_np.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
pwd.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
ranlib.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
readpassphrase.h Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:29 -06:00
regex.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
res_update.h Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:23 -06:00
resolv.h resolv: Add a required include to resolv.h 2024-01-08 20:52:08 +09:00
runetype.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
sched.h include: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
search.h Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:23 -06:00
semaphore.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
setjmp.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
signal.h Add POSIX psiginfo(3) call 2025-04-17 18:19:44 +03:00
spawn.h posix_spawn(3): add POSIX_SPAWN_DISABLE_ASLR_NP 2024-03-04 03:00:38 +02:00
stab.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
stdalign.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
stdbool.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
stdckdint.h include: Implement N2867. 2023-09-07 06:40:14 +00:00
stddef.h stddef.h/stdlib.h: Remove unused rune_t 2024-06-02 19:41:22 +01:00
stdio.h fileno(3): set errno when returning -1 2024-11-29 17:25:32 +02:00
stdlib.h Revert Make newly POSIX functions visible 2025-03-20 03:41:27 -04:00
stdnoreturn.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
string.h Revert Make newly POSIX functions visible 2025-03-20 03:41:27 -04:00
stringlist.h include: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
strings.h include: ssp: round out fortification of current set of headers 2024-07-13 00:16:24 -05:00
sysexits.h sysexits: Tidy deprecated header and manual 2024-05-09 20:50:48 -06:00
tar.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
termios.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
tgmath.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
time.h Revert Make newly POSIX functions visible 2025-03-20 03:41:27 -04:00
timeconv.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
timers.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
ttyent.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
uchar.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
ulimit.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
unistd.h Revert Make newly POSIX functions visible 2025-03-20 03:41:27 -04:00
utime.h include: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
utmpx.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
uuid.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
varargs.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
wchar.h Revert Make newly POSIX functions visible 2025-03-20 03:41:27 -04:00
wctype.h Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:23 -06:00
wordexp.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
xlocale.h Remove "All Rights Reserved" from FreeBSD Foundation copyrights 2024-07-30 12:16:36 -04:00