Fix <fcntl.h> including <sys/stat.h> namespace pollution.
POSIX allows <fcntl.h> to include <sys/stat.h>, but doesn't require it. There's little reason to do that, since they are separate headers, and <fcntl.h> just needs the mode_t constants. Fix the code accidentally relying on <fcntl.h> including <sys/stat.h>. The mode_t constants are now provided in their own kernel header <sortix/mode.h>. Additionally fix <sys/stat.h> pulling in all of <sys/types.h>, which is not allowed by POSIX, which only requires a few types to be declared. Fix the code accidentally relying on <sys/stat.h> including <sys/types.h>. Finally fix <dirent.h> pulling in <stdint.h> through <sortix/dirent.h>. The <sortix/__/dt.h> and <sortix/__/stat.h> headers are no longer required and their contents have been merged into <sortix/__/dirent.h>.
Showing with 166 additions and 193 deletions