@mhoye I've been saying this for decades. The problem starts with:
#define EPERM 1 /* Operation not permitted */
What operation? On what object? Due to what context or user identity? Who do have to ask for permission?
Continues:
#define ENOENT 2 /* No such file or directory */
Is it a file or a directory? Which part of my pathname failed? Is it because a directory isn't searchable or just doesn't exist?
The operating system clearly knew all these facts, but returned only -1 and an errno
@mhoye Every *nix user is happy to laugh at Microsoft saying "Unknown error 0x80000000" but THEY COPIED errno FROM UNIX from MS/DOS 2 forwards