It seems that a big chunk of "what is possible or not on a given operating system" is hidden inside of super-syscalls like fcntl(2) and ioctl(2).
A good example for this use-case are sparse files and hole punching: one might think that macOS can't punch a hole in a file because it has no fallocate(2) system call, whereas in reality this can be accomplished using the F_PUNCHHOLE argument to fcntl(2).
It seems that a big chunk of "what is possible or not on a given operating system" is hidden inside of super-syscalls like
fcntl(2)
andioctl(2)
.A good example for this use-case are sparse files and hole punching: one might think that macOS can't punch a hole in a file because it has no
fallocate(2)
system call, whereas in reality this can be accomplished using theF_PUNCHHOLE
argument tofcntl(2)
.It would be nice to support these values too.