Skip to content
  • Jonas Termansen's avatar
    Fix <fcntl.h> including <sys/stat.h> namespace pollution. · 29555d72
    Jonas Termansen authored
    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>.
    29555d72